DM Log

[연습문제] 멀리 뛰기 - Python / JavaScript 본문

알고리즘/프로그래머스

[연습문제] 멀리 뛰기 - Python / JavaScript

Dev. Dong 2025. 2. 24. 21:20

문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/12914

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

[문제 간단 요약]

1. 1칸 또는 2칸 이동 가능하며 특정 칸에 오는 경우의 수를 구하는 문제

[문제 해결 방안]

1. 특정 칸의 경우의 수는 특정 칸-1과 특정 칸-2의 올 수 있는 경우의 수의 합

2. 특정칸-1에서 1칸 이동하여 특정칸으로 오는 경우

3. 특정칸-2에서 2칸 이동하여 특정칸으로 오는 경우

 

[문제 해결 코드 - python]

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

 

[문제 해결 코드 - javascript]

function solution(n) {
    var answer = 0;
    let dp = Array(n+1).fill(0)
    dp[1] = 1;
    dp[2] = 2;
    for (let i = 3; i <= n; i++) {
        dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567;
    }
    return dp[n]
}