haju__log

[python][백준/BOJ] 9655번 : 돌 게임 본문

BOJ_백준

[python][백준/BOJ] 9655번 : 돌 게임

haju 2023. 8. 5. 15:06
반응형

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

 

9655번: 돌 게임

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

www.acmicpc.net

 

✅ 문제풀이 

  • 단순 if - else 조건문을 이용해서 풀었는데, 이렇게 푸는 건 의도한 게 아닌 듯해서 찾아보니 dp로도 풀 수 있었다!
  • 일단 n=1 일때, SK 승 
  • n=2 일때, CY 승
  •  n=3 일때, SK 승 ... 반복해보면 홀수일때는 SK 이고, 짝수일 경우에는 CY를 출력한다.

✅ 단순풀이

import sys

n=int(sys.stdin.readline())

if n%2!=0:
    print("SK")
else :
    print("CY")

 

✅ dp이용한 풀이

import sys

n=int(sys.stdin.readline())

dp=[-1]*1001

dp[1]=1 #SK 승
dp[2]=0 #CY 승
dp[3]=1 #SK 승

for i in range(4,n+1):
    if dp[i-1]==1 or dp[i-3]==1:
        dp[i]=0
    else:
        dp[i]=1
if dp[n]==1:
    print("SK")
else :
    print("CY")

 

➰참고하면 좋을 블로그➰

https://velog.io/@miiingirok/%EB%B0%B1%EC%A4%80-9655.-%EB%8F%8C%EA%B2%8C%EC%9E%841-Python

 

[BOJ] #9655. 돌게임1 (Python)

링크: https://www.acmicpc.net/problem/9655유형: 다이나믹 프로그래밍, 단순연산작성일시: 2022년 10월 22일 오후 2:57폰 노이만에 의해 게임 이론의 기초가 달성됨.게임 진행 주체들 간에 상호 의존성이 존

velog.io

 

반응형