Python_알고리즘/Gold V
-
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) # ..
-
1490. [Python]자리수로 나누기Python_알고리즘/Gold V 2023. 11. 1. 00:59
1. 문제 https://www.acmicpc.net/problem/1490 1490번: 자리수로 나누기 첫째 줄에 어떤 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 브루트 포스 3. 파이썬 코드 import math # 숫자를 리스트로 받아옴 nums = list(map(int, input())) # 리스트 숫자를 합칠 변수 number = "" # 최소공배수를 구할 변수 answer = 1 # 리스트를 반복해가며 0이 아닌 값들의 최소공배수를 구하고 숫자를 합쳐줌 for i in nums: if i != 0: answer = math.lcm(answer, i) number += s..
-
1374. [Python]강의실Python_알고리즘/Gold V 2023. 10. 30. 00:49
1. 문제 https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 우선순위 큐 정렬 3. 파이썬 코드 import heapq # 인풋 N = int(input()) # 리스트 저장할 리스트 num_list = [] # 강의실 번호 N 은 필요없으므로 시작과 끝값 리스트 저장 for _ in range(N): N, S, E = map(int,input().split()) num_l..
-
1245. [Python]농장 관리Python_알고리즘/Gold V 2023. 10. 21. 15:35
1. 문제 https://www.acmicpc.net/problem/1245 1245번: 농장 관리 첫째 줄에 정수 N(1 < N ≤ 100), M(1 < M ≤ 70)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄마다 격자의 높이를 의미하는 M개의 정수가 입력된다. 격자의 높이는 500보다 작거나 같은 음이 아닌 정수 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB BFS(너비 우선 탐색) 3. 파이썬 코드 from collections import deque from pprint import pprint # 8방향 탐색 direction = [(-1,-1), (-1,0), (-1,1), (0,-1), (0,1), (1,-1), (1,0), (1,1)] def..
-
7490. [Python]0 만들기Python_알고리즘/Gold V 2023. 10. 11. 01:07
1. 문제 https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 재귀 백트래킹 3. 파이썬 코드 # 연산 결과가 0인 값을 출력할 함수 def calculator(num): global ans # 연산을 진행할 변수 answer = "" # 정답을 출력할 변수 temp = "" # N값과 num이 같으면 if num == N: # 마지막 값을 리스트에 추가 ans.append(str(num)) # ans 값을 순회하며 for i in ans: ..
-
1759. [Python]암호 만들기Python_알고리즘/Gold V 2023. 10. 9. 18:30
1. 문제 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 백트래킹 브루트포스 3. 파이썬 코드 def find_list(num): global vowel_cnt global consonant global list_length # 리스트 길이가 채워야 하는 조건에 맞는 경우 if list_length == N: # num값이 끝값일 경우 if num == N-1: # 자음, 모음 체크를 못했기 때문에 각각 체크한 후 값 증가 if ans[-1] == "a" or ans[-1] == "e" or ans[-1] == "i" or ans[-1] == "o" or ans[-1] == "u": vowel_cnt += 1 elif ans[-1] != "a" and ans[-1] != "e" and ans..