dp 2

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Python] Lv 2. ์ˆซ์ž ๋ณ€ํ™˜ํ•˜๊ธฐ

โญ ๋ฌธ์ œ ๋งํฌ https://school.programmers.co.kr/learn/courses/30/lessons/154538 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr โญ ํ’€์ด ์ฝ”๋“œ # dp ์•Œ๊ณ ๋ฆฌ์ฆ˜ # ํ˜„์žฌ๊นŒ์ง€ ๋„๋‹ฌํ•˜๋Š” ๋ฐ ์—ฐ์‚ฐ ์ˆ˜ + 1 ๊ณผ ๋„๋‹ฌํ•˜๋ ค๊ณ ํ•˜๋Š” ์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ, # ์ž‘์€ ๊ฐ’์„ ํ˜„์žฌ ์—ฐ์‚ฐ ์ˆ˜๋กœ ์ €์žฅ def solution(x, y, n): answer = 0 d = [1e9] * (y+1) # ํฐ ์ˆ˜๋กœ ์ดˆ๊ธฐํ™” d[x] = 0 for i in range(x, y+1): # n์„ ๋”ํ•˜๋Š” ๊ฒฝ์šฐ if i+n

Python/Programmers 2023.04.23

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Python] Lv 2. 2 x n ํƒ€์ผ๋ง

โญ ๋ฌธ์ œ ๋งํฌ https://school.programmers.co.kr/learn/courses/30/lessons/12900 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr โญ ํ’€์ด ์ฝ”๋“œ # dp ์•Œ๊ณ ๋ฆฌ์ฆ˜ def solution(n): answer = 0 d = [0]*60001 d[1] = 1 d[2] = 2 for i in range(3, n+1): d[i] = (d[i-1] + d[i-2]) % 1000000007 # ๊ทœ์น™ ์ฐพ์•„์„œ ์ ํ™”์‹ ๋งŒ๋“ค๊ธฐ! return d[n]

Python/Programmers 2023.04.15