CS/Algorithm
[ JAVA / 백준 : 1904 ] 01타일
yujindonut
2021. 8. 22. 01:35
728x90
풀이
n자리 수를 알고 싶을때, 1을 뽑았을 경우 d[n - 1]의 경우의 수가 나온다.
00을 뽑았을 경우, d[ n - 2 ]의 경우의 수가 나온다. 이 두개를 합하면 끝!
import java.util.Scanner;
public class 타일 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int[] d = new int[1000001];
d[0] = 0; d[1] = 1; d[2] = 2;
for(int i = 3; i <= N; i++) {
d[i] = (d[i - 1] + d[i - 2]) % 15746;
}
System.out.println(d[N]);
scan.close();
}
}
처음에 나머지 계산을 막판 d[N] % 15746하니까 틀렸다고 나왔다.
계산하는 과정에서부터 나머지계산을 해줘야한다!
728x90