https://www.acmicpc.net/problem/9655
문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
dp 관련 문제는 일단 규칙을 찾아야 하는 것이기 때문에 규칙을 찾기위해 계산해 보았다.
1개이면
sk 승
2개이면
cy 승
3개
sk 승
4개
cy 승
5개
sk 승
6개
cy 승
7개
sk 승
8개
cy 승
2의 배수이면 cy 승이고 2의 배수가 아니면 sk의 승이여서 코드를 작성해보았다.
n = int(input())
if n%2 == 0:
print('CY')
else:
print('SK')
'코딩테스트' 카테고리의 다른 글
[python 백준] 6064번 : 카잉달력 (실버 1) (0) | 2024.08.05 |
---|---|
[python 백준] 10826 번: 피보나치 수 4 (0) | 2024.08.02 |
[python 백준] 2747번 : 피보나치 수 (0) | 2024.07.31 |
[백준 python] 1271 : 엄청난 부자2 (브론즈 5) (0) | 2024.07.30 |
[백준 python] 18111 번 : 마인크래프트 (실버 2) (0) | 2024.07.29 |