본문 바로가기
BEB/algorithm

타일링 tiling

by ddanss 2022. 10. 31.
728x90

모르겠으면 직접 해보면 된다.

2*1인 보드를 2*1의 타일로 채우는 방법은 1가지

2*2인 보드를 2*1의 타일로 채우는 방법은 2가지

2*3인 보드를 2*1의 타일로 채우는 방법은 3가지

2*4인 보드를 2*1의 타일로 채우는 방법은 5가지

2*5인 보드를 2*1의 타일로 채우는 방법은 8가지

이렇게 보면

2*1 + 2*2 = 2*3

2*2 + 2*3 = 2*4

이런 느낌의 식이 나온다

그걸 배열에 다 넣어주고 해당하는거 출력

let tiling = function (n) {
  let arr=[];
  if(n===1) return 1;
  if(n===2) return 2;
  arr.push(1);
  arr.push(1);
  arr.push(2);
  for(let i=3;i<=n;i++) {
    arr.push(arr[i-1] + arr[i-2])
  }
  return arr[n];
};
반응형

'BEB > algorithm' 카테고리의 다른 글

Toy07 - tree dfs  (0) 2022.11.02
Toy06 - Sudoku  (0) 2022.11.02
[js] 버블정렬  (0) 2022.10.28
[javaScript/자바스크립트]부분집합인지 확인  (0) 2022.10.27
[JavaScript/자바스크립트] 순열의 순서  (0) 2022.10.25

댓글