๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Python54

[Python Algorithm] ๋‹จ์–ด ์ •๋ ฌ BOJ #1181 ๋ฌธ์ œ https://www.acmicpc.net/problem/1181 1181๋ฒˆ: ๋‹จ์–ด ์ •๋ ฌ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys n = int(sys.stdin.readline()) result = [] for _ in range(n): now = sys.stdin.readline().strip() result.append((len(now), now)) result = list(set(result)) result.sort() for i in range(len(result)).. 2022. 2. 2.
[Python Algorithm] 2×n ํƒ€์ผ๋ง 2 BOJ #11727 ๋ฌธ์ œ https://www.acmicpc.net/problem/11727 11727๋ฒˆ: 2×n ํƒ€์ผ๋ง 2 2×n ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1๊ณผ 2×2 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×17 ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ๊ฐ€์ง€ ์˜ˆ์ด๋‹ค. www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด n = int(input()) if n == 1: print(1) elif n == 2: print(3) else: memory = [1, 3] for i in range(2, n): memory.append((memory[i-2]*2 + memory[i-1]) % 10007) print(memory[-1]) ๐Ÿ‘‰ DP ๋ฌธ์ œ๋กœ, ์ ํ™”์‹ / ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. p[n] = p[n-1] + p[n-2].. 2022. 2. 2.
[Python Algorithm] ์ด์นœ์ˆ˜ BOJ #2193 ๋ฌธ์ œ https://www.acmicpc.net/problem/2193 2193๋ฒˆ: ์ด์นœ์ˆ˜ 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ง„์ˆ˜ ์ค‘ ํŠน๋ณ„ํ•œ ์„ฑ์งˆ์„ ๊ฐ–๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋Š”๋ฐ, ์ด๋“ค์„ ์ด์นœ์ˆ˜(pinary number)๋ผ ํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” ๋‹ค์Œ์˜ ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด n = int(input()) if n == 1: print(1) elif n == 2: print(1) else: result = [1, 1] # n์ด 0์ผ ๋•Œ, 1์ผ ๋•Œ๋ฅผ ๋ฏธ๋ฆฌ ์ €์žฅ for i in range(2, n): result.append(result[i-2] + result[i-1]) print(result[-1]) ๐Ÿ‘‰ DP ๋ฌธ์ œ๋กœ, ์ ํ™”์‹ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋จ.. 2022. 2. 1.
[Python Algorithm] ํฌ๋„์ฃผ ์‹œ์‹ BOJ #2156 ๋ฌธ์ œ https://www.acmicpc.net/problem/2156 2156๋ฒˆ: ํฌ๋„์ฃผ ์‹œ์‹ ํšจ์ฃผ๋Š” ํฌ๋„์ฃผ ์‹œ์‹ํšŒ์— ๊ฐ”๋‹ค. ๊ทธ ๊ณณ์— ๊ฐ”๋”๋‹ˆ, ํ…Œ์ด๋ธ” ์œ„์— ๋‹ค์–‘ํ•œ ํฌ๋„์ฃผ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํฌ๋„์ฃผ ์ž”์ด ์ผ๋ ฌ๋กœ ๋†“์—ฌ ์žˆ์—ˆ๋‹ค. ํšจ์ฃผ๋Š” ํฌ๋„์ฃผ ์‹œ์‹์„ ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ๊ทœ www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys n = int(sys.stdin.readline()) wine = [] for _ in range(n): wine.append(int(sys.stdin.readline())) if n == 1: print(wine[0]) elif n == 2: print(wine[0]+wine[1]) elif n == 3: print(max(wine[0]+wine[2], wi.. 2022. 1. 31.
[Python Algorithm] ์—ฐ์†ํ•ฉ BOJ #1912 ๋ฌธ์ œ https://www.acmicpc.net/problem/1912 1912๋ฒˆ: ์—ฐ์†ํ•ฉ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” -1,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys sys.setrecursionlimit(1000000) n = int(input()) nums = list(map(int, input().split())) sums = [nums[0]] for i in range(1, n): if nums[i] < sums[-1] + nums[i]: sums.append(sums[-1] + nums[i]) else: sums.appen.. 2022. 1. 31.