🕊 Link

Lv3. 2 x n 타일링 Javascript
https://programmers.co.kr/learn/courses/30/lessons/12900?language=javascript

🧑🏻‍💻 Code(javascript)

function solution(n) {
  const arr = [1, 2];
  for (let i = 2; i < n; i++) {
    let sum = arr[i - 2] + arr[i - 1];
    arr.push(sum % 1000000007);
  }
  return arr[n - 1];
}

💡 Solution

  • 예를 들어 타일이 4칸일 때와 5칸일 때의 차이는 새로 붙은 한 칸에서 오는 차이 뿐.
  • 초기 n=1, n=2일 때를 제외하고 앞의 두 값을 더한 값이 된다.
  • 피보나치 활용
n경우계산
11초기값
22초기값
331+2
452+3
583+5
6135+8
.........
.........
n...arr.[n-2] + arr.[n-1]

👨🏻‍💻💭 Self Feedback

규칙을 찾지 못해서 초반에 오래 헤맸던 문제.
알고리즘 구현과 함께 다양한 수학 공식 활용 필요.
디바이드 앤 컨커 (divide and conquer),
큰 단위의 문제를 작게 쪼개서 해결하는 연습 필요.


  • 2021.04.14 - 최초 작성

댓글 환영 질문 환영
by.protect-me

profile
protect me from what i want

0개의 댓글