[백준/Python] 9655번 돌 게임

DEV Dong's Log·2023년 10월 28일
0

Algorithm

목록 보기
2/37
post-thumbnail

9655번 돌 게임

📌Problem

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

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

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

입력

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

출력

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

✍solution

  • 게임 턴의 횟수가 짝수일때는 상근이가 승, 홀수일때는 창영이가 승
  • dp를 통해 게임 턴의 최소 횟수를 저장하여 문제를 해결

💻Code

n=int(input())

dp=[0]*1001

dp[1]=1
dp[2]=2
dp[3]=1
for i in range(4,n+1):
    dp[i]=min(dp[i-3]+1,dp[i-1]+1)

result=dp[n]
if result%2 ==0:
    print('CY')
else:
    print('SK')

💡Takeaway

profile
다양한 분야를 학습하는 프론트엔드 개발자

0개의 댓글