반응형
해당 문제는 피보나치 수열로 문제를 풀 수 있다.
def solution(n):
if n == 1: return 1
else:
p = [0] * n
p[0] = 1
p[1] = 2
for i in range(2, n):
p[i] = (p[i-1] + p[i-2]) % 1234567
return p[-1]
점화식으로 풀이를 진행했는데, 마지막에 1234567으로 나누지 않았을 때에는 테스트 케이스의 값이 너무 커서 런타임에러가 발생했다. 매번 값을 계산할 떄마다 1234567을 나눠주는 형태로 결과를 도출하고 마지막 p[-1] 값을 리턴하는 방식으로 해결할 수 있따.
'Python > Algorithm' 카테고리의 다른 글
[프로그래머스] 예상 대진표 - Python (0) | 2023.09.23 |
---|---|
[프로그래머스] 점프와 순간 이동 - Python (0) | 2023.09.16 |
[프로그래머스] 구명보트 - Python (0) | 2023.09.16 |
[프로그래머스] 둘만의 암호 - Python (2) | 2023.09.08 |
[프로그래머스] 대충 만든 자판 - Python (0) | 2023.09.08 |