반응형
def solution(n):
if n < 3:
return n
else:
d = [0] * (n+1)
d[1], d[2] = 1, 2
for i in range(3, n+1):
d[i] = d[i-1]+d[i-2]
return d[n] % 1234567
먼저 n이 3보다 작은 경우는
n=1 일때 (1) -->1가지
n=2 일때 (1,1) (2) -->2가지
이므로 n과 결과가 같다.
n이 3보다 큰 경우는 점화식을 이용해서
d[i] = d[i-1]+d[i-2]
이 식을 도출해낼 수 있다.
점화식을 알아낸다면 프로그래머스 level 3 이지만 정말 간단한 문제인 것 같다.
반응형
'알고리즘 > 프로그래머스 level 3' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : 이중우선순위큐 (0) | 2021.08.30 |
---|---|
[파이썬🐍] 프로그래머스 : 단어 변환 (0) | 2021.07.20 |
[파이썬🐍] 프로그래머스 : 정수 삼각형 (0) | 2021.07.19 |
[파이썬🐍] 프로그래머스 : 등굣길 (0) | 2021.07.18 |
[파이썬🐍] 프로그래머스 : 네트워크 (0) | 2021.07.17 |
댓글