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