본문 바로가기

알고리즘/백준알고리즘

[백준 알고리즘/Python] 2193 이친수

문제

 

 

문제이해

N=1일 때는 1만 있으니 맨 끝자리는 1

N=2일 때는 10, 만 있으니 맨끝자리는 0

...

이렇게 맨 끝자리를 보면됩니다.

 

  끝자리가 0인 경우 끝자리가 1인 경우
N=1 0 1
N=2 1 0
N=3 1 1
N=4 2 1
N=5 3 2
N=6 5 3

끝자리가 0일 때 0,1 이 들어갈 수 있고 끝자리가 1일 때는 0만 들어갈 수 있습니다.

 

코드

num=int(input())

d = [[0] * 2 for _ in range(91)]

d[1]=[0,1]
d[2]=[1,0]
for i in range(3,91):
    d[i][0] = (d[i-1][0]+d[i-1][1])
    d[i][1] = (d[i-1][0])


print((sum(d[num])) )
728x90