🐍 파이썬 μƒμ΄ˆμ§œ

[BOJ][Python] λ°±μ€€ 9655번: λŒκ²Œμž„

선달 2024. 10. 14. 03:33
λ°˜μ‘ν˜•

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

 

문제

돌 κ²Œμž„μ€ 두 λͺ…μ΄μ„œ μ¦κΈ°λŠ” μž¬λ°ŒλŠ” κ²Œμž„μ΄λ‹€.

νƒμž μœ„μ— 돌 Nκ°œκ°€ μžˆλ‹€. 상근이와 μ°½μ˜μ΄λŠ” 턴을 λ²ˆκ°ˆμ•„κ°€λ©΄μ„œ λŒμ„ κ°€μ Έκ°€λ©°, λŒμ€ 1개 λ˜λŠ” 3개 κ°€μ Έκ°ˆ 수 μžˆλ‹€. λ§ˆμ§€λ§‰ λŒμ„ κ°€μ Έκ°€λŠ” μ‚¬λžŒμ΄ κ²Œμž„μ„ 이기게 λœλ‹€.

두 μ‚¬λžŒμ΄ μ™„λ²½ν•˜κ²Œ κ²Œμž„μ„ ν–ˆμ„ λ•Œ, μ΄κΈ°λŠ” μ‚¬λžŒμ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. κ²Œμž„μ€ 상근이가 λ¨Όμ € μ‹œμž‘ν•œλ‹€.

μž…λ ₯

첫째 쀄에 N이 주어진닀. (1 ≤ N ≤ 1000)

좜λ ₯

상근이가 κ²Œμž„μ„ 이기면 SKλ₯Ό, μ°½μ˜μ΄κ°€ κ²Œμž„μ„ 이기면 CY을 좜λ ₯ν•œλ‹€.

 

풀이

n = int(input())
print("SK" if n%2==1 else "CY")

 

μ‹œν–‰μ°©μ˜€

γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹ λ² μŠ€ν‚¨λΌλΉˆμŠ€ μˆ κ²Œμž„μ²˜λŸΌ 1~3개 κ°€μ Έκ°€λŠ”κ±΄μ€„ μ•Œκ³  dpν–ˆλŠ”λ° μ•„λ‹ˆμ˜€μŒ

1개 λ˜λŠ” 3κ°œμ˜€κ΅¬λ‚˜.. κ·Έλ ‡κ΅¬λ‚˜..

n = int(input())

dp = [0, 1,1,1,2]

for i in range(5, n+1):
    dp.append(dp[i-4]) 

winner = "SK" if dp[n]==1 else "CY"
print(winner)
λ°˜μ‘ν˜•