9655๋ฒ: ๋ ๊ฒ์
์๊ทผ์ด๊ฐ ๊ฒ์์ ์ด๊ธฐ๋ฉด SK๋ฅผ, ์ฐฝ์์ด๊ฐ ๊ฒ์์ ์ด๊ธฐ๋ฉด CY์ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
์ค๋ช
๋ N๊ฐ๊ฐ ์ฃผ์ด์ง ๋, ๋ ์ฌ๋(์๊ทผ์ด์ ์ฐฝ์)์ด ํด์ ๋์๊ฐ๋ฉด์ ๋์ ๊ฐ์ ธ๊ฐ๋ค.
๋์ 1๊ฐ ๋๋ 3๊ฐ ๊ฐ์ ธ๊ฐ ์ ์๊ณ , ๋ง์ง๋ง ๋์ ๊ฐ์ ธ๊ฐ๋ ์ฌ๋์ด ๊ฒ์์ ์ด๊ธฐ๊ฒ ๋๋ค. (๋ฒ ์คํจ ๋ผ๋น์ค ์๊ฐ๋๋ค?)
๊ฒ์์ ์๊ทผ์ด๊ฐ ๋จผ์ ์์ํ๋ฉฐ ๋ ์ฌ๋์ด ์๋ฒฝํ๊ฒ ๊ฒ์์ ํ๋ค๊ณ ๊ฐ์ ํ๊ณ , ์ด๊ธฐ๋ ์ฌ๋์ ์ถ๋ ฅํ๋ค.
ํ์ด
1. ๊ฐ๋จํ ํ์ด
๋์ด ์ง์์ผ ๊ฒฝ์ฐ ์ฐฝ์์ด๊ฐ ๋ฌด์กฐ๊ฑด ์ด๊ธฐ๋ ๊ฒ์์ด ๋๊ณ , ํ์์ผ ๊ฒฝ์ฐ ์๊ทผ์ด๊ฐ ๋ฌด์กฐ๊ฑด ์ด๊ธฐ๋ ๊ฒ์์ด ๋๋ค.
๋ฐ๋ผ์ ์ง์์ผ ๋์ ํ์์ผ ๋๋ฅผ ๋๋์ด ํผ๋ค.
2. ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ ์ฉ
๋ค๋ฅธ ํ์ด ์ฐธ์กฐ(์ถํ์ ์ฌํ์ด ํ ์ค๋ช ์์ )
Solution
1. ๊ฐ๋จ ํ์ด
import sys
input = sys.stdin.readline
n = int(input()) #๋ ๊ฐ์
if n % 2 == 0: #์ง์
print('CY')
else: #ํ์
print('SK')
2. DP ํ์ด
import sys
input = sys.stdin.readline
n = int(input()) #๋ ๊ฐ์
dp = [0]*1001
dp[1], dp[2], dp[3] = 'SK', 'CY', 'SK'
for i in range(4, n+1):
if dp[i-1] == 'CY' or dp[i-3] == 'CY':
dp[i] = 'SK'
else:
dp[i] = 'CY'
if dp[n] == 'SK':
print('SK')
else:
print('CY')
๐ฉ๐ป ํ๊ณ
์ฒ์์ ํ์ด๋ฒ์ด ๋์ ํ ์๊ฐ๋์ง ์์์ ๊ผผ์๋ฅผ ๋ถ๋ ธ๋ค. ํ์์ ์ง์๋ก ๋๋ ์ ๊ณ์ฐํด๋ณด๋ ํ์น๋ฒ์ด ์์๋ค๋ ๊ฑธ ๊นจ๋ซ๊ณ ๋ฐ๋ก ํ์๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฌธ์ ๋ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ ํ ์ ์์๋ค. ์ฌ์ค ๊ฐ๋จํ๊ฒ ํ๊ธฐ ์ ์ 'dp๋ก ํ์ด์ผ ํ ๊ฒ ๊ฐ์๋ฐ..'๋ผ๊ณ ์๊ฐํ์์ง๋ง dp์ ์์ง ์ต์ํด์ง์ง ์์์ ๋ค๋ฅธ ํ์ด๋ฅผ ์ฐธ์กฐํ๋ค. ใ ใ
dp ๋ฌธ์ ์ค์์๋ ์ฌ์ด ํธ์ ์ํ์ง๋ง ์์ง ๋... ๋ง์ด ํ๊ณ ๋์ ๋ค์ ํ์ด๋ด์ผ๊ฒ ๋ค๊ณ ๋ค์ง.
'๐งฉ Algorithm > [BOJ] Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [BOJ] 2161. ์นด๋1 (Python/์๋ฃ๊ตฌ์กฐ/Silver 5) (0) | 2024.10.29 |
|---|---|
| BOJ 11723๋ฒ : ์งํฉ (Python/๊ตฌํ/Silver 5) (0) | 2024.03.12 |
| BOJ 2164๋ฒ : ์นด๋2 (Python/์๋ฃ๊ตฌ์กฐ(ํ)/Silver 4) (1) | 2024.01.30 |
| BOJ 11728๋ฒ : ๋ฐฐ์ด ํฉ์น๊ธฐ (Python/Two-Pointer/Silver 5) (4) | 2023.11.09 |
| BOJ 10814๋ฒ : ๋์ด์ ์ ๋ ฌ (Python/์๋ฃ๊ตฌ์กฐ/Silver 5) (1) | 2023.10.31 |