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

세상을 바꾸는 개발자·2023년 4월 27일
0

[문제링크 - 프로그래머스 - 멀리 뛰기] https://school.programmers.co.kr/learn/courses/30/lessons/12914

처음 풀이 코드

  • 테스트케이스 하나가 오류나서 그 오류를 해결하느라 시간이 소요되었었다.
  • 디버그도 해보고, 이것저것 넣어보면서 어디서 오류가 났는지 확인을 해보았다.
  • int[] dp = new int[n + 1]; 에 대해서 [n+2]를 하니까 성공이 되는 것을 보고, 크기 문제임을 확인하였다.
  • n1일 때, dp[2]=2;에 대해 처리를 하지 못했던 것!
class Solution {
    public int solution(int n) {
        int answer = 0;
        int[] dp = new int[n + 1];

        dp[1] = 1;
        dp[2] = 2;
        
        for (int i = 3; i <= n; i++) {
            dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567;
        }
        
        answer = dp[n];
        return answer;
    }
}



최종 코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        int[] dp = new int[n + 1];

        dp[1] = 1;
        if (n > 1) {
            dp[2] = 2;
            for (int i = 3; i <= n; i++) {
                dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567;
            }
        }
        answer = dp[n];
        return answer;
    }
}
profile
초심 잃지 않기

0개의 댓글

관련 채용 정보