2193 - 이친수

slee2·2021년 12월 27일
0

백준

목록 보기
9/20

문제

https://www.acmicpc.net/problem/2193

풀이

이 문제는 어떻게 진행되는지 직접 찾아보면 금방 알 수 있다.

규칙을 잘 살펴보면 이친수에서
마지막 수가 0이면 다음은 0과 1이 올 수 있고
마지막 수가 1이면 다음은 0밖에 못온다

이 성질을 이용해서 개수를 규칙적으로 파악하여 해결하면 된다.

그리고 N은 90까지 받을 수 있으니 자료형을 long으로 해결하는 것이 좋다.

import java.util.Scanner;

public class Num2193 {

    public static int N;
    public static long NumZero[];
    public static long NumOne[];

    public static void main(String[] args) {
        //input
        Scanner scanner = new Scanner(System.in);
        N = Integer.parseInt(scanner.nextLine());
        NumZero = new long[N+1];
        NumOne = new long[N+1];

        //logic
        NumZero[1] = 0;
        NumOne[1] = 1;
        for (int i=2; i<=N; i++) {
            NumOne[i] = NumZero[i-1];
            NumZero[i] = NumOne[i-1] +NumZero[i-1];
        }

        //output
        System.out.println(NumOne[N] + NumZero[N]);
    }
}

0개의 댓글

관련 채용 정보