본문 바로가기
Algorithm

[동적계획법/DP] 백준 9658 돌 게임 4 - 파이썬(Python)

by jangThang 2023. 7. 3.
반응형

백준 온라인 저지

 

 

 

1. 문제 (링크 참조)

 

9658번: 돌 게임 4

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

www.acmicpc.net

 

 

2. 문제 풀이

 어쩌다 보니 돌 게임 시리즈... 켠왕을 하고 있네요..

 

2023.07.03 - [Algorithm] - [동적계획법/DP] 백준 9657 돌게임 3 - 파이썬(Python)

 

[동적계획법/DP] 백준 9657 돌게임 3 - 파이썬(Python)

[ Contents ] 1. 문제 (링크 참조) 9657번: 돌 게임 3 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 2. 문제 풀이 각 플레이어는 번갈아가며 돌을 1개, 3개 또는 4개를

star7sss.tistory.com

 이전 문제와 달리, 마지막 돌을 가져가면 지는 걸로 바꾸면 됩니다.

 

 

 

3. 코드

# 입력
n = int(input())

# DP
if n == 1:
    print('CY')
elif n == 2:
    print('SK')
elif n == 3:
    print('CY')
elif n == 4:
    print('SK')
else:
    dp = [-1] * (n+1)
    dp[1] = 'CY'
    dp[2] = 'SK'
    dp[3] = 'CY'
    dp[4] = 'SK'

    for i in range(5, n+1):
        # 돌이 1개 혹은 3개, 4개 남은 상황일 때
        if dp[i-1] == 'CY' or dp[i-3] == 'CY' or dp[i-4] == 'CY':
            dp[i] = 'SK'
        else:
            dp[i] = 'CY'
    print(dp[n])

 

 

star가 되고나서 Tistory

반응형

댓글