프로그래머스_멀리 뛰기

LeeYulhee·2023년 9월 26일
0

💻 문제 출처 : 프로그래머스_멀리 뛰기

👉 내가 작성한 답


class Solution {
    public long solution(int n) {
        
        long answer = 1;
        long beforeNum = 0;
        
        for(int i = 2; i <= n + 1; i++) {
            
            long temp = answer;
            answer = (answer + beforeNum) % 1234567;
            beforeNum = temp;
            
        }
        
        return answer;
    }
}
  • 📌 접근 방식
    • n + 1의 피보나치 수에 해당되는 값을 return 하면 됨
  • 📌 문제 풀이 설명
    • long 변수 answer를 선언하고 1로 초기화
    • long 변수 beforeNum을 선언하고 0으로 초기화
    • for문으로 2부터 n + 1 이하까지 1씩 증가하며 순회
      • ➕ 피보나치 0과 1은 beforeNum과 answer의 초기화 값에 해당하므로 2부터 순회를 시작하면 됨
      • long 변수 temp를 선언하고 answer로 초기화
      • answer에 answer + beforeNum을 하고 1234567과 나눈 나머지 값을 대입
      • beforeNum에 이전 answer에 해당하는 값을 넣어야 하므로 temp를 대입
    • for문 종료 후 return answer
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글