코딩 테스트 연습

[Programmers] 피보나치 수(Java)

항상 발전하는 개발자 2024. 3. 19. 10:17
728x90

 

https://school.programmers.co.kr/learn/courses/30/lessons/12945 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이 문제는 피보나치 수에 관한 문제입니다.

 

문제에서 F(0) = 0, F(1) = 1을 이미 선언을 한 상태이고, 1234567로 나눈 나머지를 리턴하라고 했다.

 

피보나치 수열의 기본 코드는 아래와 같다.

fn = f1 + f2;
f1 = f2;
f2 = fn 

 

class Solution{
	public int solution(int n){
    	int answer = 0;
        int f0 = 0;
        int f1 = 1;
        int d = 1234567;
        
        for(int i = 2; i<n+1; i++){
        	answer = (f0+f1)%d;
            f0 = f1;
            f1 = answer;
        }
        return answer;
    }
}
728x90