https://www.acmicpc.net/problem/2193
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않
www.acmicpc.net
문제
풀이
이 문제는 실버3이라서 그런지 점화식 도출까지 쉬웠다!!
2차원 배열을 만들어서 끝자리가 0인경우와 1인경우를 각각 저장하여 식을 출력하였다.
그리고 이 문제의 중요한 점은 2차원 배열 선언할 때 타입형을 조심해야한다!!! int로 했다가 틀렸다고 나온 ㅎ
코드
package Week07;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ2193 {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
long dp[][] = new long[n+1][2];
dp[1][0]=0;
dp[1][1]=1;
for(int i=2;i<=n;i++) {
for(int j=0;j<2;j++) {
if(j==0) {
dp[i][j]=dp[i-1][j+1]+dp[i-1][j];
}else {
dp[i][j]=dp[i-1][0];
}
}
}
long ans=0;
for(int i=0;i<2;i++) {
ans+=dp[n][i];
}
System.out.println(ans);
}
}
'코딩테스트' 카테고리의 다른 글
[BOJ_14002/JAVA]가장 긴 증가하는 부분 수열 4 (0) | 2022.01.16 |
---|---|
[BOJ_1912/JAVA] 연속합 (0) | 2022.01.12 |
[BOJ_10844/JAVA] 쉬운 계단 수 (0) | 2022.01.11 |
[BOJ_15990/JAVA] 1,2,3 더하기 5 (0) | 2022.01.10 |
[Programmers/JAVA] 전화번호 목록 (0) | 2022.01.07 |