[백준] 9658번 돌 게임 4

거북이·2023년 9월 1일
0

백준[실버2]

목록 보기
77/81
post-thumbnail

💡문제접근

  • 완벽하게 자신이 이기기 위한 방법으로 게임을 한다고 가정
  • 규칙성을 하나하나 파악하여 코드를 작성

💡규칙성 파악

    1. 돌의 개수가 1개인 경우 : 상근이가 시작해서 1개를 가져가므로 창영의 승
    1. 돌의 개수가 2개인 경우 : 상근이와 창영이가 각각 1개씩 가져가므로 상근의 승
    1. 돌의 개수가 3개인 경우 : 상근이가 1개를 가져가면 나머지 2개를 하나씩 나눠가지므로 창영의 승
    1. 돌의 개수가 4개인 경우 : 상근이가 3개를 가져가면 나머지 1개를 창영이가 가지므로 상근의 승
    1. 돌의 개수가 5개인 경우 : 상근이가 4개를 가져가면 나머지 1개를 창영이가 가지므로 상근의 승
    1. 돌의 개수가 6개인 경우 : 상근이가 3개를 가져가면 나머지 3개를 1개씩 가지므로 상근의 승
    1. 돌의 개수가 7개인 경우 : 상근이가 4개를 가져가면 나머지 3개를 1개씩 가지므로 상근의 승
  • 위의 7가지가 반복해서 나타나므로 나머지 연산을 통해서 값을 찾아 승자를 출력하면 된다.

💡코드(메모리 : 31388KB, 시간 : 48ms)

import sys
input = sys.stdin.readline

N = int(input())

temp = N % 7
if temp == 1 or temp == 3:
    print("CY")
else:
    print("SK")

💡소요시간 : 21m

0개의 댓글