본문 바로가기
코딩/백준-자바

[자바] 백준 9655번: 돌 게임

by 철없는민물장어 2023. 2. 18.
728x90

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

 

9655번: 돌 게임

상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.

www.acmicpc.net

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class P9655 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());

		if (n % 2 == 0) {
			System.out.println("CY");
		} else {
			System.out.println("SK");
		}
	}

}

 

돌은 무조건 1개 또는 3개만 가져갈 수 있고

마지막 돌을 가져가면 이기는 게임.

 

표를 그려서 돌 개수마다 누가 이기게될지 적어봤는데,

1개: 상근 승

2개: 창영 승

3개: 상근 승

4개: 창영 승

5개: 상근 승

6개: 창영 승

..

.

로 나왔고,

생각해보니 4개 이상부터는

상대방이 3을 내면 내가 1, 상대방이 1을 내면 내가 3,

이런식으로 한 턴에 상대방과 내가 돌을 4개씩 가져갈 수 있게 설계할 수 있게 돼서

계속 똑같이 반복된다.

(돌이 홀수개라면 상근이가 돌을 4개씩 가져가게 맞출것이고 돌이 짝수개면 창영이가 4개씩 맞출 것이다)

그래서 홀수개일 땐 상근이 승, 짝수개일땐 창영이 승이다.

728x90

댓글