[프로그래머스] 피보나치 수

yunny·2023년 4월 14일
0

프로그래머스

목록 보기
16/25

생각한 순서

  1. F(2), F(3) ... 이렇게 커질떄 어떤 규칙이 있는지 확인
  2. 이미 주어진 값인 F(0)과 F(1)을 먼저 배열 안에 넣어두기
  3. F(3) = F(2) + F(1)이기 때문에
    n=3일 경우, F(3) = F(3-1) + F(3-2) 라고 생각
  4. for문을 사용하여 3번을 숫자로 변환

막힌 부분

  1. for문의 조건문 걸기.. 까다로웠다
  2. 문제를 잘 못 읽음 : 1234567로 나눈 숫자를 배열 안에 넣어야 하는데, 냅다 배열 안에 F(n) 값만 넣어버림..
  3. 마지막 리턴값에 왜 answer[n-1]이 아니라 answer[n]인지 한참 고민했다.....

실마리

  1. 이미 배열 안에 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]
}
profile
기록하지 않으면 잊어버려요 !

0개의 댓글

관련 채용 정보