문제
문제이해
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
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
[백준 알고리즘/Python] 140023 가장 긴 증가하는 부분 수열4 (0) | 2022.02.07 |
---|---|
[백준 알고리즘/Python] 11053 가장 긴 증가하는 부분 수열 (0) | 2022.02.06 |
[백준 알고리즘/Python] 10844 쉬운 계단 수 (0) | 2022.02.04 |
[백준 알고리즘/Python] 15990 1,2,3 더하기 5 (0) | 2022.02.03 |
[백준 알고리즘/Python] 16194 카드 구매하기2 (0) | 2022.02.02 |