Python_알고리즘
-
2023. [Python] 신기한 소수Python_알고리즘/Gold V 2024. 2. 25. 15:10
1. 문제 https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 4MB DFS(깊이 우선 탐색) 3. 파이썬 코드 # 재귀 제한 풀기 import sys sys.setrecursionlimit(10000) # DFS 함수 def backtracking(total, cnt): # 횟수가 N과 같으면 if cnt == N: # 값 출력 후 리턴 print(total) return # 2째 자리부..
-
9205. [Python] 맥주 마시면서 걸어가기Python_알고리즘/Gold V 2024. 2. 18. 15:11
1. 문제 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 그래프 탐색 너비 우선 탐색 3. 파이썬 코드 import sys from collections import deque # 많은 인풋 처리를 위해 sys 사용 input = sys.stdin.readline T = int(input()) # 테스트 케이스 만큼 반복 for tc in range(T): store_cnt = ..
-
1569. [Python]정사각형으로 가리기Python_알고리즘/Silver II 2024. 2. 18. 14:57
1. 문제 https://www.acmicpc.net/problem/1569 1569번: 정사각형으로 가리기 정사각형으로 가려지는 점이란, 어떤 점이 그 정사각형의 한 변 위에 놓여져 있을 때, 정사각형으로 가려진다고 한다. 점이 N개가 주어진다. N개의 점 모두를 가릴 수 있는 정사각형을 구하는 프 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 많은 조건 분기 3. 파이썬 코드 import sys input = sys.stdin.readline N = int(input()) square_point = set() min_x = sys.maxsize max_x = -sys.maxsize min_y = sys.maxsize max_y = -sys.maxsize che..
-
1706. [Python]크로스 워드Python_알고리즘/Silver II 2024. 1. 14. 00:56
1. 문제 https://www.acmicpc.net/problem/1706 1706번: 크로스워드 동혁이는 크로스워드 퍼즐을 좋아한다. R×C 크기의 크로스워드 퍼즐을 생각해 보자. 이 퍼즐은 R×C 크기의 표로 이루어지는데, 퍼즐을 다 풀면 금지된 칸을 제외하고는 각 칸에 알파벳이 하나씩 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 정렬 문자열 파싱 3. 파이썬 코드 R, C = map(int,input().split()) matrix = [ input() for _ in range(R) ] word_list = [] # 가로 방향으로 반복하며 # 을 제외한 문자들을 정답 리스트에 저장 for i in range(R): word = "" for j in ra..
-
11279. [Python]최대 힙Python_알고리즘/Silver I 2024. 1. 9. 01:58
1. 문제 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 256MB 우선순위 큐 3. 파이썬 코드 import heapq import sys input = sys.stdin.readline num_list = [] N = int(input()) for _ in range(N): # 인풋 값 체크 input_num = int(input()) # 인풋 값이 0 인 경우 if ..
-
1593. [Python]문자 해독Python_알고리즘/Gold V 2023. 12. 28. 03:42
1. 문제 https://www.acmicpc.net/problem/1593 1593번: 문자 해독 첫째 줄에 고고학자들이 찾고자 하는 단어 W의 길이 g와 발굴된 벽화에서 추출한 문자열 S의 길이 |S|가 빈 칸을 사이에 두고 주어진다. (1≤g≤3000, g≤|S|≤3,000,000) 둘째 줄에 W, 셋째 줄에 S의 실 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 슬라이딩 윈도우 3. 파이썬 코드 g, s = map(int,input().split()) # 찾을 단어 find_word = input() # 비교할 단어 search_list = input() # 아스키 코드로 찾을 단어를 체크 current_list = [0] * 58 # 비교할 단어들의 아스..
-
1263. [Python]시간 관리Python_알고리즘/Gold V 2023. 12. 21. 03:31
1. 문제 https://www.acmicpc.net/problem/1263 1263번: 시간 관리 진영이는 캠프 조교를 온 후 효율적으로 시간 관리를 해야 한다는 것을 깨달았다. 진영이는 하루에 해야 할 일이 총 N개가 있고 이 일들을 편하게 1번부터 N번까지 차례대로 번호를 붙였다. 진영 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 정렬 3. 파이썬 코드 import sys input = sys.stdin.readline N = int(input()) # 일 시간 저장하는 리스트 work_lists = [] for _ in range(N): works = list(map(int,input().split())) work_lists.append(works) # ..
-
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..