[Algorithm][Python] 백준(BOJ) 2193 이친수
[문제]
https://www.acmicpc.net/problem/2193
[내 코드]
DP 문제
n = int(input())
d = [0] * (n+1) #91로 해도됨
d[1] = 1
d[2] = 1
for i in range(3, n+1):
d[i] = d[i-1] + d[i-2]
print(d[n])
위의 코드에서 IndexError가 나서 찾아보는데 (n+1)이 문젠가 싶어서 91로 바꿨는데 잘됨… 이떄까지만 해도 왜 문젠지 몰랐는데 생각해보니까 (n == 1)의 경우 d[2]가 있을 수가 없더라….~
ㅋㅋㅋㅋㅋㅋㅋ맞왜틀만 계속 외치고 있었는데ㅋㅋㅋㅋㅋ내가 바보였다.~
#### 해결
n = int(input())
if n == 1:
print(1)
else:
d = [0] * (n+1)
d[1] = 1
d[2] = 1
for i in range(3, n+1):
d[i] = d[i-1] + d[i-2]
print(d[n])
댓글남기기