[프로그래머스] 멀리뛰기(Python)

수경·2023년 6월 12일
0

problem solving

목록 보기
158/174

프로그래머스 - 멀리뛰기

풀이

무.적.권. DP다

1칸 or 2칸이므로 dp[i] = dp[i - 1] + dp[i - 2] 를 해주면 된다.

누구보다 빠르게 호기롭게 제출했는데 다른 사람 풀이... 충격적^^

나는 리스트를 할당해서 dp의 0~n까지 값을 구해서 저장했는데, 사실 모든 수를 저장할 필요는 없다.
i-1인덱스 값과 i-2인덱스 값만 알면 되기 때문...
그걸 이용해서 다른사람이 기깔나게 풀었다...

쉬운 문제라 블로그 정리 없이 넘어가려 했는데 다른 사람 코드가 넘나 기깔나서... 가져왔다..

난 아직 갈길이 멀었다^^~.............. ㅠ


코드

노잼 내 코드

def solution(n):
    dp = [0] * (n + 1)
    dp[0] = dp[1] = 1
    for i in range(2, n + 1):
        dp[i] = dp[i - 1] + dp[i - 2] 
    return dp[-1] % 1234567

대유잼 다른 사람 코드

def solution(n):
    a, b = 1, 1
    for i in range(2, n + 1):
        a, b = b, a + b
    return b % 1234567
        

설명... 생략...

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글