https://www.acmicpc.net/problem/1003
1003번: 피보나치 함수
각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.
www.acmicpc.net
풀이)
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main_BJ_1003_피보나치함수 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for(int tc=1; tc<=t; tc++){
int n = Integer.parseInt(br.readLine());
int[][] dp = new int[n+1][2];
dp[0][0] = 1;
dp[0][1] = 0;
if(n>=1) {
dp[1][0] = 0;
dp[1][1] = 1;
}
for(int i=2; i<=n; i++){
dp[i][0] = dp[i-1][0] + dp[i-2][0];
dp[i][1] = dp[i-1][1] + dp[i-2][1];
}
System.out.println(dp[n][0] + " " + dp[n][1]);
}//for
}//main
}
피보나치 문제에 대해 간단히 생각해볼 수 있는 문제였다.
단순히 dp 만들어서 해야지~~ 하다가 0과 1 또한 규칙성있게 계속 더해진다는 것을 알게되어서 신기했당.
예시)
0 | 1 | 2 | 3 | 4 | 5 | |
0 | 1 | 0 | 1 | 1 | 2 | 3 |
1 | 0 | 1 | 1 | 2 | 3 | 5 |
'코테 > 백준' 카테고리의 다른 글
백준 1620 나는야 포켓몬 마스터 이다솜(JAVA) (1) | 2023.01.17 |
---|---|
백준 1931 회의실 배정(JAVA) (0) | 2023.01.16 |
백준 11726 2xn 타일링(JAVA) (0) | 2023.01.14 |
백준 1107 리모컨(JAVA) (1) | 2023.01.14 |
백준 1874 스택 수열(JAVA) (0) | 2023.01.13 |