반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12914
문제 풀이
dp를 설정해 이전값과 그 이전값을 더해주면 됨. 여기서 두 값의 의미는
이전값 : 이전 모든 경우에 +1 해주는 경우
그 이전값: 그 이전값의 모든 경우에 +2 해주는 경우
임. 아래 코드를 보면 결국 피보나치 꼴이 된다.
코드
def solution(n):
dp = [0 for _ in range(n)]
dp[0] = 1
if n>1: dp[1] = 2
for i in range(2,n):
dp[i] = (dp[i-1] + dp[i-2])%1234567
return dp[-1]
반응형
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스] lv.1 콜라츠 추측 python 풀이 (0) | 2023.12.16 |
---|---|
[프로그래머스] lv.2 예상 대진표 풀이 (0) | 2023.11.19 |
[프로그래머스] lv.2 N개의 최소공배수 풀이 (0) | 2023.11.19 |
[프로그래머스] lv.2 구명보트 풀이 (1) | 2023.11.19 |
[프로그래머스] lv.2 영어 끝말잇기 풀이 (2) | 2023.11.19 |