https://school.programmers.co.kr/learn/courses/30/lessons/12900
1. 문제에 대한 이해
- 우리가 풀어야 할 문제는 무엇인가?
직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 구하라 - 주어진 자료는 무엇인가?
n: 직사각형의 가로의 길이 - 조건은 무엇인가?
가로의 길이 n은 60,000이하의 자연수이다.
경우의 수를 1,000,000,007로 나눈 나머지를 return 하라.
2. 계획
- 피보나치 수열을 구하는 식을 이용한다.
- 배열에 초기값 0,1,2를 넣는다.
- n번째 피보나치 수를 구하고 이를 1000000007로 나눈 나머지값을 리턴한다.
3. 실행
const solution = (n) => {
const arr = [0, 1, 2];
for (let i = 3; i <= n; i++) {
arr[i] = (arr[i - 2] + arr[i - 1]) % 1000000007;
}
return arr[n];
};
test('solution', () => {
expect(solution(4)).toEqual(5);
});
'코테연습' 카테고리의 다른 글
176. 과일장수 Javascript (0) | 2023.01.18 |
---|---|
175. 스킬트리 Javascript (0) | 2023.01.09 |
173. 연속 부분 수열 합의 개수 Javascript (0) | 2023.01.06 |
172. 할인행사 Javascript (0) | 2023.01.05 |
171.귤 고르기 Javascript (0) | 2023.01.04 |
댓글