728x90
문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다.
상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다.
마지막 돌을 가져가는 사람이 게임을 이기게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
https://www.acmicpc.net/problem/9655
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
예제
# input
5
# output
SK
문제 풀이
# 입력 받기
N = int(input())
# turn: 0은 SK의 차례, 1은 CY의 차례를 의미
turn = 0
while True:
# N이 3 이상이면 3개 가져가기, 아니면 1개 가져가기
N = N-3 if N >= 3 else N-1
# N이 0이 될 경우 누구 차례였는지 출력
if N == 0:
print('SK') if turn == 0 else print('CY')
break
# 차례 변경 (0 -> 1 또는 1 -> 0)
turn = 1 - turn
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90