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

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [๊ตฌํ˜„] 14916๋ฒˆ_๊ฑฐ์Šค๋ฆ„ ๋ˆ_

๋ฌธ์ œ https://www.acmicpc.net/problem/14916 14916๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ ์ฒซ์งธ ์ค„์— ๊ฑฐ์Šค๋ฆ„๋ˆ ์•ก์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 14916๋ฒˆ ๋ฌธ์ œ - ๊ฑฐ์Šค๋ฆ„๋ˆ n = int(input()) ans = 0 while True: if n % 5 == 0: ans += n // 5 break else: n -= 2 ans += 1 if n < 0: break if n < 0: print(-1) else: print(ans)

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_17626๋ฒˆ_Four Squares

๋ฌธ์ œ https://www.acmicpc.net/problem/17626 17626๋ฒˆ: Four Squares ๋ผ๊ทธ๋ž‘์ฃผ๋Š” 1770๋…„์— ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋Š” ๋„ท ํ˜น์€ ๊ทธ ์ดํ•˜์˜ ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฆ๋ช…ํ•˜์˜€๋‹ค. ์–ด๋–ค ์ž์—ฐ์ˆ˜๋Š” ๋ณต์ˆ˜์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 26์€ 52๊ณผ 12์˜ ํ•ฉ์ด๋‹ค; ๋˜ํ•œ 42 + 32 + 1 www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 17626๋ฒˆ ๋ฌธ์ œ - Four Squares # pypy3 import sys N = int(sys.stdin.readline()) dp = [0,1] for i in range(2, N+1): min_value = 1e9 j = 1 while (j**2)

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_1620๋ฒˆ_ ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ

๋ฌธ์ œ https://www.acmicpc.net/problem/1620 1620๋ฒˆ: ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ ์ฒซ์งธ ์ค„์—๋Š” ๋„๊ฐ์— ์ˆ˜๋ก๋˜์–ด ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ๊ฐœ์ˆ˜ N์ด๋ž‘ ๋‚ด๊ฐ€ ๋งž์ถฐ์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ ธ. N๊ณผ M์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ธ๋ฐ, ์ž์—ฐ์ˆ˜๊ฐ€ ๋ญ”์ง€๋Š” ์•Œ์ง€? ๋ชจ๋ฅด๋ฉด www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1620๋ฒˆ ๋ฌธ์ œ - ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ import sys n, m = map(int, input().split()) # ๋ฆฌ์ŠคํŠธ์— ํฌ์ผ“๋ชฌ ์ €์žฅ pokedic_int_key = {} # Key๊ฐ’์ด int์ธ dictionary pokedic_name_key = {} # Key๊ฐ’์ด str์ธ dictionary for i in range(n): n..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_2407๋ฒˆ_ ์กฐํ•ฉ

๋ฌธ์ œ https://www.acmicpc.net/problem/2407 2407๋ฒˆ: ์กฐํ•ฉ n๊ณผ m์ด ์ฃผ์–ด์ง„๋‹ค. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2407๋ฒˆ ๋ฌธ์ œ - ์กฐํ•ฉ import math n, m = map(int, input().split()) print(int(math.factorial(n) // (math.factorial(m)*math.factorial(n-m)))) factorial ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_11727๋ฒˆ_ 2 x n ํƒ€์ผ๋ง 2

๋ฌธ์ œ https://www.acmicpc.net/problem/11727 11727๋ฒˆ: 2×n ํƒ€์ผ๋ง 2 2×n ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1๊ณผ 2×2 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×17 ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ๊ฐ€์ง€ ์˜ˆ์ด๋‹ค. www.acmicpc.net ํ’€์ด import sys input = sys.stdin.readline n = int(input()) dp = [0] * 1001 # ์ดˆ๊ธฐ๊ฐ’ ์ง€์ • dp[0] = 1 dp[1] = 1 # ์ ํ™”์‹์— ๋”ฐ๋ฅธ ๊ฒฝ์šฐ์˜ ์ˆ˜ ๊ณ„์‚ฐ for i in range(2, n+1): dp[i] = dp[i-1] + 2 * dp[i-2] print(dp[n]%10007)

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_11659๋ฒˆ_๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4

๋ฌธ์ œ https://www.acmicpc.net/problem/11659 11659๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4 ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์…‹์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„ i์™€ j www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11659๋ฒˆ ๋ฌธ์ œ - ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ import sys n, m = map(int, sys.stdin.readline().split()) arr = list(map(int, input().split())) sum_list = [0] total = 0 for i in range(len(arr)): total += arr[i] sum_list.append(..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_9461๋ฒˆ_ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด

๋ฌธ์ œ https://www.acmicpc.net/problem/9461 9461๋ฒˆ: ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ผ๊ฐํ˜•์ด ๋‚˜์„  ๋ชจ์–‘์œผ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ์ฒซ ์‚ผ๊ฐํ˜•์€ ์ •์‚ผ๊ฐํ˜•์œผ๋กœ ๋ณ€์˜ ๊ธธ์ด๋Š” 1์ด๋‹ค. ๊ทธ ๋‹ค์Œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ •์‚ผ๊ฐํ˜•์„ ๊ณ„์† ์ถ”๊ฐ€ํ•œ๋‹ค. ๋‚˜์„ ์—์„œ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 9461๋ฒˆ ๋ฌธ์ œ - ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด n = int(input()) d = [0 for _ in range(101)] for _ in range(n): d[0],d[1],d[2],d[3],d[4] = 1,1,1,2,2 p = int(input()) for i in range(5, p): d[i] = d[i-5] + d[i-1] print(d[p-1]) DP๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ ํ™”์‹์„ ๊ตฌํ•œ ํ›„ ์‰ฝ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_9375๋ฒˆ_ํŒจ์…˜์™• ์‹ ํ•ด๋นˆ

๋ฌธ์ œ https://www.acmicpc.net/problem/9375 9375๋ฒˆ: ํŒจ์…˜์™• ์‹ ํ•ด๋นˆ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” headgear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด hat, turban์ด๋ฉฐ eyewear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด sunglasses์ด๋ฏ€๋กœ (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)๋กœ ์ด 5๊ฐ€์ง€ ์ด๋‹ค. www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 9375๋ฒˆ ๋ฌธ์ œ - ํŒจ์…˜์™• ์‹ ํ•ด๋นˆ from collections import Counter t = int(input()) for i in range(t): n = int(input()) s = [] for j in range(n): a,b = input().split() s.append..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_2606๋ฒˆ_๋ฐ”์ด๋Ÿฌ์Šค

๋ฌธ์ œ https://www.acmicpc.net/problem/2606 2606๋ฒˆ: ๋ฐ”์ด๋Ÿฌ์Šค ์ฒซ์งธ ์ค„์—๋Š” ์ปดํ“จํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ปดํ“จํ„ฐ์˜ ์ˆ˜๋Š” 100 ์ดํ•˜์ด๊ณ  ๊ฐ ์ปดํ“จํ„ฐ์—๋Š” 1๋ฒˆ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํ„ฐ ์Œ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2606๋ฒˆ ๋ฌธ์ œ - ๋ฐ”์ด๋Ÿฌ์Šค n = int(input()) m = int(input()) graph = [[]*n for _ in range(n+1)] for _ in range(m): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) visited = [0]*(n+1) def dfs(start): glob..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_2579๋ฒˆ_๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/2579 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ฒŒ์ž„์€ ๊ณ„๋‹จ ์•„๋ž˜ ์‹œ์ž‘์ ๋ถ€ํ„ฐ ๊ณ„๋‹จ ๊ผญ๋Œ€๊ธฐ์— ์œ„์น˜ํ•œ ๋„์ฐฉ์ ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ๊ณ„๋‹จ์—๋Š” ์ผ์ •ํ•œ ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š”๋ฐ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ๊ทธ ๊ณ„๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ์  www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2579๋ฒˆ ๋ฌธ์ œ - ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ import sys n = int(sys.stdin.readline()) stair = [0 for i in range(301)] dp = [0 for i in range(301)] for i in range(n): stair[i] = int(sys.stdin.readline()) dp[0] = stair[0] dp[1] = stair[0] + stair[1..