๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€ 227

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 2559๋ฒˆ_์ˆ˜์—ด

๋ฌธ์ œ https://www.acmicpc.net/problem/2559 2559๋ฒˆ: ์ˆ˜์—ด ์ฒซ์งธ ์ค„์—๋Š” ๋‘ ๊ฐœ์˜ ์ •์ˆ˜ N๊ณผ K๊ฐ€ ํ•œ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ •์ˆ˜ N์€ ์˜จ๋„๋ฅผ ์ธก์ •ํ•œ ์ „์ฒด ๋‚ ์งœ์˜ ์ˆ˜์ด๋‹ค. N์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์ด๋‹ค. ๋‘ ๋ฒˆ์งธ ์ •์ˆ˜ K๋Š” ํ•ฉ์„ ๊ตฌํ•˜๊ธฐ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2559๋ฒˆ ๋ฌธ์ œ - ์ˆ˜์—ด import sys n, k = map(int, sys.stdin.readline().split()) temp = list(map(int, sys.stdin.readline().split())) result = [] result.append(sum(temp[:k])) for i in range(n-k): result.append(result..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 1009๋ฒˆ_๋ถ„์‚ฐ์ฒ˜๋ฆฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/1009 1009๋ฒˆ: ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด ์ •์ˆ˜ a์™€ b๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1009๋ฒˆ ๋ฌธ์ œ - ๋ถ„์‚ฐ์ฒ˜๋ฆฌ T = int(input()) for _ in range(T): a, b = map(int, input().split()) a = a % 10 if a == 0: print(10) elif a == 1 or a == 5 or a == 6: print(a) elif a == 4 or a == 9: b = b % 2 if b == 1: print(a) else: ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 14425๋ฒˆ_๋ฌธ์ž์—ด ์ง‘ํ•ฉ

๋ฌธ์ œ https://www.acmicpc.net/status?user_id=wnstjd9701&problem_id=14425&from_mine=1 ์ฑ„์  ํ˜„ํ™ฉ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 14425๋ฒˆ ๋ฌธ์ œ - ๋ฌธ์ž์—ด ์ง‘ํ•ฉ n, m = map(int, input().split()) s = [] inspect = [] answer = 0 for _ in range(n): s.append(input()) for _ in range(m): inspect.append(input()) for i in range(m): if inspect[i] in s: answer += 1 print(answer) ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์ด๋ ‡๊ฒŒ ํ’€์—ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ด 4403ms ๋กœ ๋งค์šฐ ๋†’๊ฒŒ๋‚˜์™”๋‹ค. ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณธ๊ฒฐ๊ณผ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 1158๋ฒˆ_์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ

๋ฌธ์ œ https://www.acmicpc.net/problemset?sort=ranking_asc&solvedac_option=xz%2Cxn&tier=6%2C7 ๋ฌธ์ œ - 1 ํŽ˜์ด์ง€ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1158๋ฒˆ ๋ฌธ์ œ - ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ from collections import deque n, k = map(int, input().split()) answer = [] q = deque([i for i in range(1, n+1)]) while q: for i in range(k-1): num = q.popleft() q.append(num) answer.append(str(q.popleft())) answer = ", ".join(answer) print('') ํ๋ฅผ ํ™œ์šฉํ•œ ๋ฌธ์ œ

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Class3] 5252๋ฒˆ_IOIOI

๋ฌธ์ œ https://www.acmicpc.net/problem/5525 5525๋ฒˆ: IOIOI N+1๊ฐœ์˜ I์™€ N๊ฐœ์˜ O๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉด, I์™€ O์ด ๊ต๋Œ€๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ž์—ด์„ PN์ด๋ผ๊ณ  ํ•œ๋‹ค. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O๊ฐ€ N๊ฐœ) I์™€ O๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S์™€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, S์•ˆ์— PN์ด ๋ช‡ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 5252๋ฒˆ ๋ฌธ์ œ - IOIOI n = int(input()) m = int(input()) s = input() cursor, count, result = 0, 0, 0 while cursor < (m-1): if s[cursor:cursor+3] == 'IOI': count += 1 cursor += 2 if..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Class4] 1991๋ฒˆ_ํŠธ๋ฆฌ ์ˆœํšŒ

๋ฌธ์ œ https://www.acmicpc.net/problem/1991 1991๋ฒˆ: ํŠธ๋ฆฌ ์ˆœํšŒ ์ฒซ์งธ ์ค„์—๋Š” ์ด์ง„ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 26)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ๋…ธ๋“œ์™€ ๊ทธ์˜ ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ, ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋…ธ๋“œ์˜ ์ด๋ฆ„์€ A๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์•ŒํŒŒ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1991๋ฒˆ ๋ฌธ์ œ - ํŠธ๋ฆฌ ์ˆœํšŒ import sys N = int(sys.stdin.readline().strip()) tree = {} for n in range(N): root, left, right = sys.stdin.readline().strip().split() tree[root] = [left, right] def preorder(root): if root..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Class3] 1992๋ฒˆ_์ฟผ๋“œํŠธ๋ฆฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/1992 1992๋ฒˆ: ์ฟผ๋“œํŠธ๋ฆฌ ์ฒซ์งธ ์ค„์—๋Š” ์˜์ƒ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž N ์ด ์ฃผ์–ด์ง„๋‹ค. N ์€ ์–ธ์ œ๋‚˜ 2์˜ ์ œ๊ณฑ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉฐ, 1 ≤ N ≤ 64์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ๋Š” ๊ธธ์ด N์˜ ๋ฌธ์ž์—ด์ด N๊ฐœ ๋“ค์–ด์˜จ๋‹ค. ๊ฐ ๋ฌธ์ž์—ด์€ 0 ๋˜ www.acmicpc.net ํ’€์ด n = int(input()) tree = [list(map(int,(input()))) for _ in range(n)] result = [] def quad_tree(x,y,n): global result color = tree[x][y] for i in range(x, x+n): for j in range(y, y+n): if color != tree[i][j]: # ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Class3] 1697๋ฒˆ_์ˆจ๋ฐ”๊ผญ์งˆ

๋ฌธ์ œ https://www.acmicpc.net/problem/1697 1697๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1697๋ฒˆ ๋ฌธ์ œ - ์ˆจ๋ฐ”๊ผญ์งˆ from collections import deque n, k = map(int, input().split()) def bfs(v): queue = deque([v]) while queue: v = queue.popleft() if v == k: return visited[v] for i in (v-1, v+1, 2*v):..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Class3] 1389๋ฒˆ_์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™

๋ฌธ์ œ https://www.acmicpc.net/problem/1389 1389๋ฒˆ: ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™ ์ฒซ์งธ ์ค„์— ์œ ์ €์˜ ์ˆ˜ N (2 ≤ N ≤ 100)๊ณผ ์นœ๊ตฌ ๊ด€๊ณ„์˜ ์ˆ˜ M (1 ≤ M ≤ 5,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์นœ๊ตฌ ๊ด€๊ณ„๋Š” A์™€ B๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, A์™€ B๊ฐ€ ์นœ๊ตฌ๋ผ๋Š” ๋œป www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1389๋ฒˆ ๋ฌธ์ œ - ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™ from collections import deque def bfs(graph, start): num = [0]*(n+1) visited = [start] queue = deque() queue.append(start) while queue: a = queue.popleft() for..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 12865๋ฒˆ_ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ

๋ฌธ์ œ https://www.acmicpc.net/problem/12865 12865๋ฒˆ: ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ ์ฒซ ์ค„์— ๋ฌผํ’ˆ์˜ ์ˆ˜ N(1 ≤ N ≤ 100)๊ณผ ์ค€์„œ๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ K(1 ≤ K ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ W(1 ≤ W ≤ 100,000)์™€ ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ V(0 ≤ V ≤ 1,000) www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 12865๋ฒˆ ๋ฌธ์ œ - ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ n, k = map(int, input().split()) dp = [[0]*(k+1) for _ in range(n+1)] weight = [] value = [] for _ in range(n): w, v = map(int, input().split()) weight.appe..