반응형
https://programmers.co.kr/learn/courses/30/lessons/12914
풀이
이 문제는 프로그래머스에 레벨 3으로 올려져 있는 문제인데... 그럴 난이도는 절대 아닌듯해요. 레벨2로 내려가야하지 않나 싶습니다.
저는 이 문제를 푸는데에 규칙을 찾아서 풀었습니다.
이동할 수 있는 칸은 1칸 또는 2칸입니다.
이를 통해서 생각할 수 있는 것은 만약 5칸을 이동하는 경우 (3칸을 이동하고 2칸을 더 이동)하거나 (4칸을 이동하고 1칸을 더 이동)하는 경우 뿐이라는 것입니다.
이러한 규칙으로 아래와 같은 점화식이 도출됩니다.
f(1) = 1
f(2) = 2
f(n) = f(n-1) + f(n-2) (n>=3)
이를 그대로 코드에 구현하기만 하면 되는 문제입니다.
class Solution {
public long solution(int n) {
long answer = 0;
long[] way = new long[2001];
way[1] = 1;
way[2] = 2;
for(int i=3; i<=n; i++){
way[i] = way[i-1]+way[i-2];
way[i] %= 1234567;
}
answer = way[n];
return answer;
}
}
728x90
반응형
'알고리즘 > PS - 프로그래머스' 카테고리의 다른 글
[프로그래머스 - Java] 큰 수 만들기 (0) | 2021.08.20 |
---|---|
[프로그래머스 - Java] N-Queen (0) | 2021.08.06 |
[프로그래머스 - Java] 행렬 테두리 회전하기 (0) | 2021.08.06 |
[프로그래머스 - Java] 배달 (0) | 2021.08.05 |
[프로그래머스 - Java] [3차] 방금그곡 (0) | 2021.08.05 |