[백준 11726] 2*n 타일링_Python

코뉴·2021년 2월 4일
0

백준🍳

목록 보기
25/149

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

🥚문제


🥚입력/출력


🍳코드

import sys

n = int(sys.stdin.readline())
dp = [0]*(n+1)
dp[1] = 1

# index error 해결
if n >= 2:
    dp[2] = 2

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

print(dp[n]%10007)

🧂아이디어

  • 틀렸습니다: 나머지 연산 안 함
  • 런타임 에러(index Error)
    아래가 원래 내가 작성한 코드인데, n=1일 때 dp 리스트의 크기는 2로 설정되어 있는데 (즉 index가 0, 1)
    그 다음 줄에 dp[2] = 2라는 코드가 n=1일 때 범위를 넘어가버려서 생기는 오류였다. 알아차리는 것이 늦었음!
import sys

n = int(sys.stdin.readline())
dp = [0]*(n+1)
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)
  • dp 아이디어는 이전에 다루었기 때문에 넘어가고, 오늘은 실수에 대해 반성!
profile
코뉴의 도딩기록

0개의 댓글