프로그래머스 LEVEL 2(2 x n 타일링)
-
사용 언어 : javascript
-
해결 날짜 : 2022-09-07
-
해결 방법 :
- finonacci에 따라 값이 증가하므로 반복문으로 n번째 까지 계산
- 이 때 overflow 문제를 해결하기 위해 계산 중간에도 % 1000000007 연산 수행
- 회고 :
- 처음에 재귀를 통해 해결하려 했으나 시간 초과 문제 발생하여 반복문으로 구현
- 마지막 return값에만 % 1000000007 연산을 수행하여 시간 초과 문제가 발생
-
코드
function solution(n) { let count1 = 1; let count2 = 2; let temp = 0; if (n === count1 || n === count2) return n; for (let i = 1; i <= n - 2; i++) { temp = count1 % 1000000007; count1 = count2 % 1000000007; count2 = temp + count1; } return count2 % 1000000007; }
- 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges