728x90
programmers.co.kr/learn/courses/30/lessons/12900?language=python3
접근
백준에서도 풀어봤던 문제다.
그런데 dp로 접근했을 때 시간초과가 발생하였고 다른 사람의 풀이를 참고하였다.
구현
현재 n의 경우의 수는 n-1, n-2의 경우의 수와 같은데 아래와 같이 구현할 수도 있다는 것을 알았다.
dp1에는 현재 n의 경우의 수에 해당하고 dp2는 다음 n의 경우의 수가 담기게된다.
def solution(n):
answer = 0
dp1, dp2 = 1, 1
for _ in range(n):
dp1, dp2 = dp2, dp1+dp2
answer = dp1%1000000007
return answer
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level 2] 구명보트 (0) | 2021.02.20 |
---|---|
[Level 2] 전화번호 목록 (0) | 2021.02.19 |
[Level 1] 비밀 지도 (0) | 2021.02.19 |
[Level 1] 2016년 (0) | 2021.02.19 |
[Level 1] 문자열 내 마음대로 정렬하기 (0) | 2021.02.19 |