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

jmjgirl·2023년 11월 15일
0

프로그래머스

목록 보기
12/47
post-thumbnail

📚 문제 설명

효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는
(1칸, 1칸, 1칸, 1칸)
(1칸, 2칸, 1칸)
(1칸, 1칸, 2칸)
(2칸, 1칸, 1칸)
(2칸, 2칸)
의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다.


제한사항

  • n은 1 이상, 2000 이하인 정수입니다.

🔎 입출력 예


💻 코드

class Solution {
    public long solution(int n) {
        long answer = 0;
        long[] arr = new long[n+1];
        
        if(n==1) return 1;
        if(n==2) return 2;
        
        arr[1] = 1L;
        arr[2] = 2L;
        for(int i=3; i<=n; i++) {
            arr[i] = (arr[i-1] + arr[i-2]) % 1234567 ;
        }
        
        return arr[n];
    }
}

📖 Solution

처음에는 수열로 풀 생각을 못하고 어떻게 푸는게 맞을까 계속 고민만 했다
진짜 바보 같은 고민... 😥

n을 1부터 6까지만 해봐도 이게 피보나치 수열인지 알수 있을 텐데...

문제 질문에 풀이에 대해 잘 설명해서 써주신 부분이 있어서 참고하여 풀었다! 감사합니다 🙌🏻

profile
개발자로 가는 👣

1개의 댓글

comment-user-thumbnail
2023년 11월 15일

글 재미있게 봤습니다.

답글 달기