Python_알고리즘/Silver I
-
1946. [Python]신입 사원Python_알고리즘/Silver I 2023. 12. 19. 21:43
1. 문제 2. 접근 방법 시간 제한: 2초 메모리 제한: 256MB 정렬 3. 파이썬 코드 import sys input = sys.stdin.readline # 테스트 케이스 T = int(input()) for _ in range(T): # 들어오는 인원 수 N = int(input()) # 총 등수를 카운팅할 리스트 total_list = [] # 사람들 등수 추가 for __ in range(N): person_list = list(map(int, input().split())) total_list.append(person_list) # 서류심사 성적 순위로 정렬 total_list.sort(key=lambda x: x[0]) answer_list = [] # 면접 순위를 정답 리스트에 저장 a..
-
1926. [Python]그림Python_알고리즘/Silver I 2023. 12. 9. 04:21
1. 문제 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB DFS(깊이우선탐색) 3. 파이썬 코드 def DFS(start): stack = [start] global cnt global max_width visited[start[0]][start[1]] = True width = 1 while stack: check = stack.pop() for k in range(4): dx = dir..
-
1342. [Python]행운의 문자열Python_알고리즘/Silver I 2023. 12. 8. 01:45
1. 문제 https://www.acmicpc.net/problem/1342 1342번: 행운의 문자열 민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 (Python 8초) 메모리 제한: 256MB 브루트포스 백트래킹 3. 파이썬 코드 def backtracking(current): global cnt # 현재 값이 시작인경우 ans 리스트에 값을 한개씩 추가해 나가며 방문했는지 체크 if current == 0: for i in range(word_length): ans.append(word[i]) vis..
-
1421. [Python]나무꾼 이다솜Python_알고리즘/Silver I 2023. 12. 7. 05:25
1. 문제 https://www.acmicpc.net/problem/1421 1421번: 나무꾼 이다솜 첫째 줄에 이다솜이 가지고 있는 나무의 개수 N과 나무를 자를 때 드는 비용 C와 나무 한 단위의 가격 W이 주어진다. 둘째 줄부터 총 N개의 줄에 이다솜이 가지고 잇는 나무의 길이가 한 줄에 하나 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 브루트포스 구현 3. 파이썬 코드 import sys input = sys.stdin.readline N, C, W = map(int, input().split()) # 나무를 담을 리스트 wood_list = [] for _ in range(N): wood_list.append(int(input())) # 나무를 작은값..
-
1527. [Python] 금민수의 개수Python_알고리즘/Silver I 2023. 8. 30. 19:24
1. 문제 https://www.acmicpc.net/problem/1527 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 재귀 3. 파이썬 코드 def DFS(num): # cnt 변수 글로벌 선언 global cnt # num 값에 "4" or "7" 추가 num = str(num) # 범위 내에 있으면 cnt 증가 if A 44 => 444 (값이 넘으면) 447(넘으면) 47 => 474(넘으면) 477(넘으면) 4로 돌아옴 초기값 : 7 ..
-
2667. [Python]단지번호붙이기Python_알고리즘/Silver I 2023. 6. 4. 03:37
1. 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB DFS(너비 우선 탐색) 3. 파이썬 코드 N = int(input()) # 매트릭스 담을 리스트 matrix = [list(map(str,input())) for _ in range(N)] # 방문했는지 체크 여부 visited = [[False] * N for _ in range(N) ] # 상하좌우 움직임 dx = [-1,0..
-
1697. [Python]숨바꼭질Python_알고리즘/Silver I 2023. 3. 9. 13:13
1. 문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB BFS (Queue) 3. 파이썬 코드 from collections import deque N,K = map(int,input().split()) # popleft 를 사용하기 위해 deque 를 사용 => deque 의 경우 popleft 사용해도 시간 복잡도가 O(1)인 것으로 암 queue = ..