[백준] 파이썬 9655 (돌게임)

노을·2022년 12월 26일

백준

목록 보기
11/29
post-thumbnail

9655 돌 게임

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초128 MB1691211190963467.328%

문제

돌 게임은 두 명이서 즐기는 재밌는 게임이다.

탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.

두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)

출력

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

예제 입력 1

5

예제 출력 1

SK



풀이과정

1. 구현, 수학으로 풀기

  • 문제에서 이긴 사람을 출력하라고 함 → 이긴 사람이 이미 정해져 있다.
  • 3개를 가져가든 1개를 가져가든 이미 게임의 승리자는 정해져 있다는 뜻
  • 남은 공의 개수가 3보다 작은 경우도 있으므로 1개만 가져갈 수 있다고 생각하고 문제를 풀었다.
  • 상근이가 먼저 시작하므로 공의 개수가 홀수면 상근 승리, 짝수면 창영 승리

cf) 홀수홀수개홀수의 덧셈이다.

  • 예시 ) 7

    3+3+1(3개)

    3+1+1+1+1 (5개)

    1+1+1+1+1+1+1 (7개)

짝수짝수개홀수의 덧셈이다.

  • 예시 ) 8

    3+3+1+1 (4개)

    3+1+1+1+1+1 (6개)

    1+1+1+1+1+1+1+1 (8개)




코드

1. 구현, 수학으로 풀기

n = int(input())
if n%2==0:
    print("CY")
else:
    print("SK")
profile
진짜를 알면 곁가지를 몰라도 된다

0개의 댓글