본문 바로가기
Problem Solving/백준

[백준|파이썬] 9655: 돌 게임 (실버5)

by 청량리 물냉면 2023. 4. 28.
반응형
문제

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

 

9655번: 돌 게임

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

www.acmicpc.net

 

 

🐍파이썬
import sys
n = int(sys.stdin.readline())
i = n // 3	#turn:홀수인 경우 상근, 짝수인 경우 창영
n %= 3
i += n
if i % 2 == 1:
    print("SK")
else:
    print("CY")

가져갈 수 있는 돌의 갯수는 1개 또는 3개이므로 매번 3개씩 각자 가져갔다고 치고 전체 돌의 갯수를 3으로 나누었다. 

3번씩 가져간 마지막 턴이 누구의 턴인지 알기 위해 n//3을 해서 i값을 구했고 n값은 3으로 나눈 나머지로 업데이트했다.

나머지로 남은 돌은 하나씩 가져가게 했다.(turn도 1씩 더해서 체크한다)

최종적으로 누가 마지막 turn이었는지 확인한다. 처음 시작(#1)이 상근이이므로 i값(=turn)이 홀수이면 상근이의 이니셜을, i값이 짝수이면 창영이의 이니셜을 출력했다. 

 

 

다른 풀이 방법

n=int(input())
print("CY" if n%2==0 else "SK")

n%2로 답이 나오는 문제였다.

너무 복잡하게 생각했다...

반응형