Lv3. 2 x n 타일링
문제 설명
자료 구조
- arr
- 타입 : 배열
- 저장 데이터 : 피보나치 수열을 만들기 위한 변수
- i
- 타입 : 정수
- 저장 데이터 : arr 배열에 사용할 인덱스
풀이 과정
가로가 n인 바닥을 채우는 경우의 수 := f(n)
예) f(1) = 1, f(2) = 2, f(3) = 3, f(4) = 5 ...
f(3) = f(1)에서 두 칸을 채우는 방법 + f(2)에서 한 칸을 채우는 방법
f(4) = f(2)에서 두 칸을 채우는 방법 + f(3)에서 한 칸을 채우는 방법
f(5) = f(3)에서 두 칸을 채우는 방법 + f(4)에서 한 칸을 채우는 방법...
∴ f(n) = f(n-2) + f(n-1)
구현 (JavaScript)
function solution(n) {
let arr = [1,2], i = 2;
for (; i<n; i++) arr.push((arr[i-2] + arr[i-1])%1000000007);
return arr[n-1];
}
Author And Source
이 문제에 관하여(Lv3. 2 x n 타일링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hamelln/Lv3.-2-x-n-타일링저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)