[문제풀이] 02-04. 피보나치 수열

𝒄𝒉𝒂𝒏𝒎𝒊𝒏·2023년 10월 27일
0

인프런, 자바(Java) 알고리즘 문제풀이

Array(1, 2차원 배열) - 0204. 피보나치 수열


🗒️ 문제


🎈 나의 풀이

	private static String solution(int n) {
        String answer = "1 1 2";
        int l = 1, r = 2, tmp;

        for(int i=0; i<n-3; i++) {
            answer += " " + (l + r);
            tmp = r;
            r += l;
            l = tmp;
        }

        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(solution(n));
    }


🖍️ 강의 풀이

    public int[] solution(int n){
		int[] answer=new int[n];
		answer[0]=1;
		answer[1]=1;
		for(int i=2; i<n; i++){
			answer[i]=answer[i-2]+answer[i-1];
		}
		return answer;
	}
	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int n=kb.nextInt();
		for(int x :T.solution(n)) System.out.print(x+" ");
	}


💬 짚어가기

피보나치 수열(Fibonacci sequence은 첫째 및 둘째 항이 1이며, 그 뒤의 모든 항은
바로 앞 두 항의 합인 수열이다.

나의 풀이에서는 2개의 변수에 앞 두 항의 값을 보관하도록 구현하였고,
강의에서는 배열을 이용하여 구현하였다.

profile
𝑶𝒏𝒆 𝒅𝒂𝒚 𝒐𝒓 𝒅𝒂𝒚 𝒐𝒏𝒆.

0개의 댓글