PS

[λ°±μ€€] 9658 돌 κ²Œμž„ 4 with Python

ν˜•μ€€_It's 2023. 4. 7. 15:07
728x90
λ°˜μ‘ν˜•

πŸ“Œ BOJ 9658 돌 κ²Œμž„ 4

πŸ’‘ 쑰건

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

  2. λ§ˆμ§€λ§‰ λŒμ„ κ°€μ Έκ°€λŠ” μ‚¬λžŒμ΄ κ²Œμž„μ„ μ§€κ²Œ λœλ‹€.

  3. 두 μ‚¬λžŒμ΄ μ™„λ²½ν•˜κ²Œ κ²Œμž„μ„ ν–ˆμ„ λ•Œ, μ΄κΈ°λŠ” μ‚¬λžŒμ„ κ΅¬ν•˜λŠ” 문제.

  4. κ²Œμž„μ€ 상근이가 λ¨Όμ € μ‹œμž‘ν•œλ‹€.

  5. 첫째 쀄에 N이 μ£Όμ–΄μ§„λ‹€. (1 ≀ N ≀ 1000)
    상근이가 κ²Œμž„μ„ 이기면 SKλ₯Ό, μ°½μ˜μ΄κ°€ κ²Œμž„μ„ 이기면 CY을 좜λ ₯ν•œλ‹€.

  6. λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ° μœ ν˜•μ˜ 문제

πŸ”– 예제 및 μ‹€ν–‰κ²°κ³Ό

예제 1

6

μ‹€ν–‰κ²°κ³Ό 1

SK

⌨️ 문제 풀이

  1. 돌 κ²Œμž„ 3 μ™€μ˜ 상황을 λ°˜λŒ€λ‘œ κ³„μ‚°ν•˜λ©΄ λœλ‹€.

πŸ–₯ μ†ŒμŠ€ μ½”λ“œ

from sys import stdin

n = int(stdin.readline())

dp = [0, 0, 1, 0, 1, 1, 1, 1] + [0] * (n - 7)

for i in range(8, n + 1):
    if 0 in [dp[i - 1], dp[i - 3], dp[i - 4]]:
        dp[i] = 1
    else:
        dp[i] = 0

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