알고리즘🅰/프로그래머스

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

개발조각 2023. 3. 8. 12:09
728x90
반응형

문제


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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

해결방안


문제를 읽어보시면

'효진이는 한 번에 1칸, 또는 2칸을 뛸 수 있습니다.'

'멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지'

'여기에 1234567를 나눈 나머지를 리턴하는 함수'

이 말을 보니 이문제는 피보나치 수 문제군아 했습니다.

  • f(0) = 0
  • f(1) = 1
  • f(2) = 2
  • f(3) = 3
  • f(4) = 5

여기서 n이 0, 1, 2일 경우에는 일정하니 미리 배열에 담고 3부터 피보나치로 계산해 주면 됩니다.

 

 

소스코드


function solution(n) {
    const arr = [0, 1, 2];
    
    for(let i=3; i<=n; i++){
        arr[i] = (arr[i-1] + arr[i-2])%1234567
    }
    
    return arr[n]
}
728x90
반응형