Python_알고리즘/Gold V
-
13549. [Python]숨바꼭질 3Python_알고리즘/Gold V 2024. 5. 22. 13:54
1. 문제 https://www.acmicpc.net/problem/13549 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB다익스트라 3. 파이썬 코드 import heapq# 다익스트라def dijkstra(start): queue = [] # 우선순위 큐 heapq.heappush(queue, (0,start)) while queue: # 시간, 위치 time, now = heapq.heappop(queue) # +1 한 값, -1 한 값, *2 한 값 next_add = now+1 next_min = now-1 next_multi = now*2 # +1 한 값이 100000 이하..
-
14284. [Python]간선 이어가기 2Python_알고리즘/Gold V 2024. 5. 8. 20:49
1. 문제 https://www.acmicpc.net/problem/14284 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB다익스트라 알고리즘 3. 파이썬 코드 import sysimport heapqinput = sys.stdin.readline# 다익스트라 알고리즘def dijkstra(start): # q 초기화 q = [] # heapq 로 q 리스트 생성 heapq.heappush(q,(0,start)) # distance로 초기 시작점 0 으로 초기화 distance[start] = 0 # q 값이 존재할 경우 반복문 진행 while q: # 거리, 현재 값으로 값을 뽑아냄 dist, now = heapq.heapp..
-
7569. [Python]토마토Python_알고리즘/Gold V 2024. 4. 25. 01:47
1. 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100,www.acmicpc.net 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB그래프 탐색 3. 파이썬 코드 import sysfrom collections import dequeinput = sys.stdin.readlineN, M, H = map(int,input().split())tomato = [ list(map(int,input().split())) for _ in range(M*..
-
7682. [Python]틱택토Python_알고리즘/Gold V 2024. 4. 17. 21:08
1. 문제 https://www.acmicpc.net/problem/7682 7682번: 틱택토 틱택토 게임은 두 명의 사람이 번갈아가며 말을 놓는 게임이다. 게임판은 3×3 격자판이며, 처음에는 비어 있다. 두 사람은 각각 X 또는 O 말을 번갈아가며 놓는데, 반드시 첫 번째 사람이 X를 놓고 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 구현 3. 파이썬 코드 while True: game = input() if game == "end": break game = list(map(str,game)) circle = game.count("O") cross = game.count("X") dot = game.count(".") if circle > cross: pr..
-
1456. [Python]거의 소수Python_알고리즘/Gold V 2024. 4. 14. 20:16
1. 문제 https://www.acmicpc.net/problem/1456 1456번: 거의 소수 어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 256MB 에라토스테네스의 체 3. 파이썬 코드 # 에라토스 테네스의 체를 end 범위까지 시행 def prime_check(end): prime_list = [False, False] + [True]*end for i in range(2,int(end**.5)+1): if prime_list[i]: for j in range(i*2,end+1,i)..
-
1916. [Python]최소비용 구하기Python_알고리즘/Gold V 2024. 3. 5. 01:02
1. 문제 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 2. 접근 방법 시간 제한: 0.5초 메모리 제한: 128MB 다익스트라 우선순위 큐 3. 파이썬 코드 import sys import heapq input = sys.stdin.readline N = int(input()) M = int(input()) matrix = [ [] for _ in range(N+1)] # 다익스트라 거리 distance ..
-
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 = ..
-
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) # ..