백준 2193번: 이친수 [DP] - Java :: 매운코딩
728x90
300x250

www.acmicpc.net/problem/2193

 

2193번: 이친수

0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않

www.acmicpc.net

이친수가 미친수로 읽히는 건 나뿐인걸까?

 

역시나 1~5자리의 경우의 수를 다 써보고 규칙을 발견..

[n] = [n-1]+[n-2]이다.

 

 

*주의점: n이 1이들어올때는 dp[2]를 세팅하게되면 런타임 에러가 나니 주의

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {

	public static long[] dp;
	public static void main(String[] args) {


		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		dp = new long[n+1]; // 자리수 n일 때, 이친수의 수
		
		dp[1] =1;
		if(n>1)
			dp[2] =1;
		
		for (int i = 3; i <= n; i++) {
			dp[i] = dp[i-1] + dp[i-2];
		}
		
		System.out.println(dp[n]);
		
	}

}
728x90

+ Recent posts