
생각한 순서
- F(2), F(3) ... 이렇게 커질떄 어떤 규칙이 있는지 확인
- 이미 주어진 값인 F(0)과 F(1)을 먼저 배열 안에 넣어두기
- F(3) = F(2) + F(1)이기 때문에
n=3일 경우, F(3) = F(3-1) + F(3-2) 라고 생각
- for문을 사용하여 3번을 숫자로 변환
막힌 부분
- for문의 조건문 걸기.. 까다로웠다
- 문제를 잘 못 읽음 : 1234567로 나눈 숫자를 배열 안에 넣어야 하는데, 냅다 배열 안에 F(n) 값만 넣어버림..
- 마지막 리턴값에 왜 answer[n-1]이 아니라 answer[n]인지 한참 고민했다.....
실마리
- 이미 배열 안에 0,1이 기본값으로 들어 있다는 점
1-1. 그래서 for문의 조건이 2부터 시작한다는 점...!!!!
1-2. 그래서 answer[n]이라는 점..!!!!
해결 코드
function solution(n) {
let answer = [0,1]
for(let i=2; i<=n; i++){
const number = (answer[i-1]+answer[i-2])%1234567
answer.push (number)
}
return answer[n]
}