본문 바로가기

~2023

[JAVA] 백준 9660번 문제, 돌 게임 6

728x90
반응형

<문제 링크>

https://www.acmicpc.net/problem/9660

 

9660번: 돌 게임 6

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000)

www.acmicpc.net


<풀이>

돌 게임 6은 데이터 범위가 증가했으며 게임 조건이 더 추가됐다.

무한대의 데이터 범위를 담기 위해서는 돌 게임 5에서 사용한 BigInteger를 사용하면 해결할 수 있다.

돌은 한꺼번에 1개, 3개, 4개를 가져갈 수 있고 마자막에 가져가는 사람이 이긴다.

누가 이기는지 알기 위해서는 아래와 같이 게임 예상 표를 만들어 풀이해보면 규칙을 찾을 수 있다.


<게임 예상 표>

1개 상근
2개 창영
3개 상근
4개 상근
5개 상근
6개 상근
7개 창영

8~14개일 경우의 게임 예상표를 만들어도 위와 같은 결과를 만들어 낸다.

즉, 7개로 나누어 봤을 때 나머지가 2 또는 0 이라면 창영이가 이기고, 그렇지 않다면 상근이가 이기는 조건이다.


<코드>

import java.util.Scanner;

public class B9660 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		Long n = sc.nextLong();
		
		if(n % 7 == 0 || n % 7 == 2) {
			System.out.println("CY");
		}else {
			System.out.println("SK");
		}
		
		sc.close();
	}

}

 

728x90
반응형