자료구조 및 알고리즘/백준

[python] 11726. 2*n 타일링

viamemine 2024. 6. 4. 14:16
728x90
반응형

 

문제: https://www.acmicpc.net/problem/11726

 

풀이 

 

계속해서 dp문제를 풀고 있습니다. 

앞서 다른 게시글에서도 말씀드렸듯이, dp는 점화식을 구하는게 문제 해결의 핵심입니다 !

 

아래의 그림처럼 n이 1일 때부터

차근차근 경우의 수를 생각해보시면 점화식을 구할 수 있습니다.

 

아, 저는 dp를 (n+1)만큼만 구해서 답을 출력하려고 했으나 index error가 나오더라구요. 

n이 1이거나 2일 때, error가 발생하기 때문입니다.

 

따라서 dp는 문제와 같이 1000까지 구해야 오류 없이 정답을 도출할 수 있습니다.

 

 

 

 

n = int(input())
dp = [0 for _ in range(10000)] # (n+1)만큼 하면 index error

dp[1] = 1
dp[2] = 2

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

print(dp[n] % 10007)
728x90

'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글

[python] 1912. 연속합  (0) 2024.06.05
[python] 2579. 계단 오르기  (1) 2024.06.05
[python] 9095. 1, 2, 3 더하기  (0) 2024.06.04
[python] 1463. 1로 만들기  (0) 2024.06.04
[python] 1699. 제곱수의 합  (1) 2024.06.03