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

이진규·2022년 7월 6일

프로그래머스(PYTHON)

목록 보기
56/64

문제

https://programmers.co.kr/learn/courses/30/lessons/12914

나의 코드

"""

"""

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

삽질 했던 코드


from collections import deque

def solution(n):
    
    can = [0] * (n+1)
    
    q = deque([0]) # 현재 위치
    
    while q:
        loc = q.popleft()
        
        for next_loc in (loc+1, loc+2):
            if next_loc <= n:
                can[next_loc] += 1
                q.append(next_loc)
    
    return can[n] % 1234567

설명

백준 문제에 숨바꼭질과 비슷한 건줄 알고 삽질 했다가 그냥 dp문제인걸 깨닫고 쉽게 푼 문제

참고 자료

profile
항상 궁금해하고 공부하고 기록하자.

0개의 댓글