본문 바로가기
반응형

전체 글288

[BOJ][Python]1916 풀이 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net import heapq import sys ssr = sys.stdin.readline INF = 100000000 def dijkstra(start, arrive): min_cost = [INF for _ in range(n+1)] h = [] heapq.heappush(h, (0, start)) # 거리, 도착 순서 min_cost[start] = 0 whil.. 2023. 7. 19.
[BOJ][Python]1366 풀이 https://www.acmicpc.net/problem/1366 1366번: 기타 코드 음악에서 음표는 다음과 같이 12개의 이름이 있다. 오름차순으로 A, A#, B, C, C#, D, D#, E, F, F#, G, G# 이다. 이 음은 이것보다 더 높아질 때, 낮아질 때, 모두 이 순서대로 다시 반복되기 때문에, G#보 www.acmicpc.net def f(string_idx, result): if len(result) == n: for i in visited: if i == 0: return else: if max(result) == 0 and min(result) == 0: ans.append(0) else: sorted_result = sorted(result) tmp = [] max_res.. 2023. 7. 19.
[BOJ][Python]1011 풀이 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net import sys ssr = sys.stdin.readline t = int(ssr()) for _ in range(t): x, y = map(int, ssr().split()) dist = y-x rep = dist**(1/2) if rep > 2 round(2.5 + 0.000000001) >> 3 2023. 7. 17.
[BOJ][Python] 1138 풀이 https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net n = int(input()) line = list(map(int, input().split())) ans = [0 for _ in range(n)] for i in range(len(line)): # 현재 선택된 친구 cnt = 0 for j in range(len(line)): # 바꿔가면서 비교중인 자리 if ans[j] == 0 and cnt == line[i]: ans[j] = i.. 2023. 7. 16.
[BOJ][Python]1569 풀이 https://www.acmicpc.net/problem/1569 1569번: 정사각형으로 가리기 정사각형으로 가려지는 점이란, 어떤 점이 그 정사각형의 한 변 위에 놓여져 있을 때, 정사각형으로 가려진다고 한다. 점이 N개가 주어진다. N개의 점 모두를 가릴 수 있는 정사각형을 구하는 프 www.acmicpc.net import sys ssr = sys.stdin.readline def is_available_a(points, x, y, l): for i in points: if x 2023. 7. 15.
[BOJ][Python]1515 풀이 https://www.acmicpc.net/problem/1515 1515번: 수 이어 쓰기 세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다. 세준 www.acmicpc.net line = input() ans = 0 while len(line): ans += 1 check = str(ans) while len(check) > 0 and len(line) > 0: if check[0] == line[0]: line = line[1:] check = check[1:] print(ans) 구현 문제는 항상 표기 난이도보다 좀 어려운 것 같습니다. 아이디어는 떠오르는데 그걸.. 2023. 7. 14.
[BOJ][Python]13305 풀이 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net n = int(input()) l = list(map(int, input().split())) p = list(map(int, input().split())) min_p = p[0] ans = 0 for i in range(1, len(p)): ans += l[i-1] * min_p if p[i] < min_p: min_p = p[i] print(ans) 정말 제가 그리디를 잘 안푼.. 2023. 7. 13.
[BOJ][Python]1904 풀이 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net n = int(input()) if n == 1 or n == 2 or n == 3: print(n) else: dp = [0 for _ in range(n+1)] dp[1], dp[2] = 1, 2 for i in range(3, n+1): dp[i] = (dp[i-1] + dp[i-2])%15746 print(dp[n]) 뻔한 dp 문제입니다. n 범위 때문에 index 에러가 나니까 예외처리를 하.. 2023. 7. 11.
[BOJ][Python]1347 풀이 https://www.acmicpc.net/problem/1347 1347번: 미로 만들기 홍준이는 미로 안의 한 칸에 남쪽을 보며 서있다. 미로는 직사각형 격자모양이고, 각 칸은 이동할 수 있거나, 벽을 포함하고 있다. 모든 행과 열에는 적어도 하나의 이동할 수 있는 칸이 있다. 홍 www.acmicpc.net def f(mx, my): for i in range(my+1): for j in range(mx+1): labyrinth = [['#' for _ in range(mx+1)] for _ in range(my+1)] posx, posy = j, i labyrinth[posy][posx] = '.' for k in route: if 0 2023. 7. 9.
[BOJ][Python]1291 풀이 https://www.acmicpc.net/problem/1291 1291번: 이면수와 임현수 11은 메갈루젼 문명의 어비스 오엘 우테에 속하지만 각 자리수의 총합이 1+1=2, 즉 짝수이므로 이면수가 아니고 chicken number혹은 starcraft number도 아니고 합성수도 아니므로 임현수가 아니다. 고로 www.acmicpc.net n = int(input()) ans = [] def factorization(num, prime_factors): if num == 1: return prime_factors for i in range(2, num+1): if num % i == 0: factorization(num//i, prime_factors) prime_factors.append(i) .. 2023. 7. 8.
반응형