지금은마라톤중

[백준] 11726번 2xn 타일링 본문

STUDY/Python 알고리즘

[백준] 11726번 2xn 타일링

달리는중 2024. 5. 15. 22:48

 

하루를 마무리하며 하나 풀어봅니다.

 

접근법

- DP

- 점화식 : dp[i] = dp[i-2] + dp[i-1]

 

실패 코드 

- 입력값의 범위를 모두 충족하지 못했습니다. 

- n = 1일때 dp[2]에서 index out of range 에러 발생

n = int(input())
dp = [0 for _ in range(n+1)]


dp[1], dp[2] = 1,2
for i in range(3,n+1):
    dp[i] = dp[i-1] + dp[i-2]

print(dp[n]%10007)

 

정답 코드

n = int(input())
dp = [0 for _ in range(n+1)]

if n < 3 :
    print(n)
else:
    dp[1], dp[2] = 1,2
    for i in range(3,n+1):
        dp[i] = dp[i-1] + dp[i-2]

    print(dp[n]%10007)

'STUDY > Python 알고리즘' 카테고리의 다른 글

[백준] 11660번 구간 합 구하기 5  (0) 2024.05.17
[백준] 1912번 연속합  (0) 2024.05.16
[백준] 1699번 제곱수의 합  (0) 2024.05.09
[백준] 10844번 쉬운 계단 수  (0) 2024.05.02
[백준] 2193번 이친수  (0) 2024.05.01
Comments