끄적끄적 코딩
article thumbnail
728x90

입력이 1조까지 받으므로 하나 하나 계산을 할 경우 시간초과가 발생합니다.

1개 3개 4개를 가져가는 경우에 대한 규칙을 찾아보았습니다.
먼저 DP를 사용해서 1, 3, 4개를 가져가는 경우에 대해서 결과값을 찍어보았습니다.
그 결과 1 0 1 1 1 1 0 이 반복해서 나오는것을 알 수 있었습니다.

해당 값을 배열에 넣고 입력받은 값을 7로 모듈러연산을 해준 후 
해준 값을 배열 인덱스에 넣어서 출력해주었습니다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
	static long n;
	static int[] ans = new int[7];
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		n = Long.parseLong(br.readLine()) - 1;
		n %= 7;
		ans[0] = 1;
		ans[1] = 0;
		ans[2] = 1;
		ans[3] = 1;
		ans[4] = 1;
		ans[5] = 1;
		ans[6] = 0;
		
		bw.write(ans[(int) n]==1?"SK":"CY");
		bw.close();
	}
}

 

검색 태그