๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/DP

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ

by syLim___ 2023. 5. 31.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12914#

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


๋ณด์ž๋งˆ์ž dp๋กœ ํ’€์—ˆ๋Š”๋ฐ ์ œ์ถœํ•˜๊ณ  ๋‚˜์„œ ๋‹ค๋ฅธ ๋ถ„๋“ค ํ’€์ด๋ฅผ ๋ณด๋‹ˆ๊นŒ ์žฌ๊ท€๋กœ ํ‘ผ ๋ถ„๋“ค์ด ํ›จ์”ฌ ๋งŽ์•˜๋‹ค.

 

์žฌ๊ท€๋กœ๋„ ํ’€์–ด๋ดค๋Š”๋ฐ ๋Œ€๋ถ€๋ถ„์˜ ํ…Œ์ผ€์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค.

๋ฌธ์ œ ์กฐ๊ฑด์ด ๋ฐ”๋€Œ์—ˆ๋‚˜? ๋ฐ”๋€Œ๊ธฐ ์ „์—๋Š” ์žฌ๊ท€๋กœ ํ’€์–ด๋„ ํ†ต๊ณผ๊ฐ€ ๋์—ˆ๋‚˜๋ด„

 

 

์ œ์ถœ ์ฝ”๋“œ (dp)

def solution(n):
    dp = [0]*n
    dp[0] = 1 #1์นธ
    if n >= 2:
        dp[1] = 2 #1์นธ ๋˜๋Š” 2์นธ
        for i in range(2,n):
            dp[i] = dp[i-2]%1234567 + dp[i-1]%1234567
    return dp[n-1]%1234567
728x90