728x90
반응형
[Gold II] 돌 게임 7 - 9661
[문제 링크](https://www.acmicpc.net/problem/9661)

💻 문제 정의
돌 게임은 두 명이서 즐기는 게임이다. A와 B가 돌아가며 돌을 $4^x$개 만큼 가져갈 수 있다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 출력하라. 게임은 A가 먼저 시작한다.
💡 접근 및 설계
문제를 풀어보면 규칙이 보일 것이다. 돌이 1개인 경우, 첫번째로 시작하는 A가 이길 것이다.
돌이 2개인 경우, 첫번째로 시작하는 사람이 질 것이다. 이 말은 돌이 한 개일 경우에서 진 사람이 이긴다는 것이다.
돌이 3개인 경우, 돌이 2개인 경우에서 진 사람이 이긴다는 것이다. 따라서 A가 이긴다.
돌이 4개인 경우, 선이 이긴다
돌이 5개인 경우, 선이 진다.
돌이 6개인 경우, 선이 이긴다.
돌이 7개인 경우, 선이 진다.
돌이 8개인 경우, 선이 이긴다. 선이 돌을 한개 가져가면 B가 선이고 돌이 7개인 경우와 같아진다. 따라서 선인 A가 이기게 된다.
돌이 9개인 경우, 선이 이긴다.
돌이 10개인 경우, 선이 진다.
다음의 규칙을 살펴보았을 때, 돌이 5의 배수 그리고 5로 나누었을 때 나머지가 2인 경우에는 후공이 이기고 나머지 경우에서는 모두 선공이 이기게 된다.
예외로 돌이 2개인 경우, 선공이 이긴다.
🗒️ 최종 제출 코드
# 9661 돌 게임 7
N = int(input())
if N % 5 == 0 or N % 5 == 2:
print("CY")
else:
print("SK")
💭 오늘의 회고
수학적인 규칙을 찾는 문제였다.
728x90
반응형
'Coding-Test > 백준' 카테고리의 다른 글
| [Python] 28707 배열 정렬 (0) | 2026.01.20 |
|---|---|
| [Python] 9660 돌 게임 6 (0) | 2026.01.20 |
| [Python] 9328 열쇠 (0) | 2026.01.17 |
| [Python] 1738 골목길 (1) | 2026.01.16 |
| [Python] 2248 이진수 찾기 (0) | 2026.01.15 |