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

이찬혁·2024년 3월 20일

알고리즘

목록 보기
22/72

프로그래머스 Lv2 - 멀리 뛰기 문제

멀리뛰기 경우의 수 알고리즘 문제는 지난번 포스팅에서 올린 [프로그래머스] 피보나치 수와 같은 알고리즘이기 때문에 같은 방식으로 풀이를 했다.

LongJump.java

package com.example.Programmers.Lv2;

/**
 * 프로그래머스 Lv2 - 멀리 뛰기
 */
public class LongJump {
    public long solution(int n) {
        long answer = 0;
        long prev = 1;
        long prevPrev = 0;

        for (int i = 1; i <= n; i++) {
            answer = (prev + prevPrev) % 1234567;
            prevPrev = prev;
            prev = answer;
        }

        return answer;
    }
}

LongJumpTest.java

package com.example.Programmers.Lv2;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class LongJumpTest {
    @Test
    public void testLongJump() {

        LongJump lj = new LongJump();
        long result1 = lj.solution(4);
        long result2 = lj.solution(3);

        assertEquals(5, result1);
        assertEquals(3, result2);
    }
}
profile
나의 개발로그

0개의 댓글