Koala - 10기/코딩테스트 준비 스터디

[백준/python] 9657 : 돌 게임 3

kjyook 2023. 3. 18. 14:40

https://www.acmicpc.net/problem/9657

 

9657번: 돌 게임 3

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

www.acmicpc.net

 

 

상근이부터 시작할 때 돌이 1개, 3개, 4개 있을 때는 무조건 상근이가 승리할 수 있다. 돌이 2개일 때는 상근이는 1개 밖에 가져갈 수 밖에 없기 때문에 창영이가 승리한다. 돌이 5개 이상일 때는 한 번에 게임을 끝낼 수 없기 때문에 상근이가 1개 혹은 3개 혹은 4개를 가져갔을 때 남은 돌의 갯수에 따라 승리하는 사람을 구해보면 된다.

import sys

def main():
    n = int(sys.stdin.readline())
    game = ["SK","CY","SK","SK"]

    if n>4:
        for i in range(4,n):
            if game[i-1] == "CY" or game[i-3] == "CY" or game[i-4] == "CY":
                game.append("SK")
            else:
                game.append("CY")
                
    print(game[n-1])

if __name__ == "__main__":
    main()