백준
백준[1904]번 : 01타일 ( JAVA )
하루우울루
2023. 7. 30. 01:16
https://www.acmicpc.net/problem/1904
1904번: 01타일
지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이
www.acmicpc.net
Code
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(br.readLine());
arr = new int[t];
if(t == 1) {
arr[0] = 1;
}
else { // 1일 경우 arr[1]에 index오류가 난다
arr[0] = 1;
arr[1] = 2;
}
int ans = dp(t);
bw.write(ans+" "); // 출력
br.close();
bw.close();
}
static int dp(int t) { // dp 배열 저장
for(int i=2;i<t;i++) {
arr[i] = (arr[i-1] + arr[i-2]) % 15746;
}
return arr[t-1];
}
}
dp문제 몇 개 풀다 보니 쉽게 풀었다.
if(t == 1) {
arr[0] = 1;
}
else {
arr [0] = 1;
arr [1] = 2;
}
이 부분을 처리를 안 해줘서 틀렸었다.
조심해야겠다.