โ๋ฌธ์
https://www.acmicpc.net/problem/9655
๋ฉ๋ชจ๋ฆฌ: 32544 KB, ์๊ฐ: 36 ms
์ํ, ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ, ๊ฒ์ ์ด๋ก
๋ ๊ฒ์์ ๋ ๋ช ์ด์ ์ฆ๊ธฐ๋ ์ฌ๋ฐ๋ ๊ฒ์์ด๋ค.
ํ์ ์์ ๋ N๊ฐ๊ฐ ์๋ค. ์๊ทผ์ด์ ์ฐฝ์์ด๋ ํด์ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๋์ ๊ฐ์ ธ๊ฐ๋ฉฐ, ๋์ 1๊ฐ ๋๋ 3๊ฐ ๊ฐ์ ธ๊ฐ ์ ์๋ค. ๋ง์ง๋ง ๋์ ๊ฐ์ ธ๊ฐ๋ ์ฌ๋์ด ๊ฒ์์ ์ด๊ธฐ๊ฒ ๋๋ค.
๋ ์ฌ๋์ด ์๋ฒฝํ๊ฒ ๊ฒ์์ ํ์ ๋, ์ด๊ธฐ๋ ์ฌ๋์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๊ฒ์์ ์๊ทผ์ด๊ฐ ๋จผ์ ์์ํ๋ค.
โ๐ปํ์ด
N = 1 ์ผ ๋๋ ์๊ทผ์ด๊ฐ ์ด๊ธด๋ค.
N = 2 ์ผ ๋๋ ์ฐฝ์์ด๊ฐ ์ด๊ธด๋ค.
N = 3 ์ผ ๋๋ ์๊ทผ์ด๊ฐ 3๊ฐ๋ฅผ ๋ชจ๋ ๊ฐ์ ธ๊ฐ๊ฑฐ๋ 1 ๊ฐ์ฉ ๊ฐ์ ธ๊ฐ์ ์๊ทผโก๏ธ์ฐฝ์โก๏ธ์๊ทผ์ผ๋ก ์๊ทผ์ด๊ฐ ์ด๊ธด๋ค.
์ด ์ํฉ์ผ๋ก ๋ดค์ ๋ N์ธ ํ์์ผ ๋๋ ์๊ทผ์ด๊ฐ ์ด๊ธฐ๊ณ ์ง์์ผ ๋๋ ์ฐฝ์์ด๊ฐ ์ด๊ธด๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
๐ป์ฝ๋
๋ด ํ์ด
import sys
input = sys.stdin.readline
N = int(input())
print("SK" if N%2 == 1 else "CY")
DP ์ฌ์ฉํ ํ์ด
import sys
input = sys.stdin.readline
N = int(input())
dp = [-1] * 1001
dp[1] = 1
dp[2] = 0
dp[3] = 1
for i in range(4, N+1):
if dp[i-1] != 1 or dp[i-3] != 1:
dp[i] = 1
else:
dp[i] = 0
print("SK" if dp[N] == 1 else "CY")
๐ํ๊ธฐ
N์ด ํ์์ธ ๊ฒฝ์ฐ์๋ ๋ฌด์กฐ๊ฑด ์๊ทผ์ด๊ฐ ์ด๊ธฐ๊ณ ์ง์์ธ ๊ฒฝ์ฐ์๋ ์ฐฝ์์ด๊ฐ ์ด๊ธฐ๋ ๊ฑธ ๋ฐ๋ก ํ์ธํ๊ณ ์ํ์ผ๋ก ํ์๋๋ฐ DP๋ก ํ์ด๋ก๋ ํ ์ ์๋ค๋ ์ ๊ธฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ๋ PyPy3๋ณด๋ค Python์ผ๋ก ์ปดํ์ผํ์ ๋๊ฐ ๋ ๋น ๋ฅด๋ค.
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11657. ํ์๋จธ์ /Python - Gold4 (0) | 2025.08.14 |
---|---|
[๋ฐฑ์ค] 2630. ์์ข ์ด ๋ง๋ค๊ธฐ/Python - Silver2 (0) | 2025.08.10 |
[๋ฐฑ์ค] 11404. ํ๋ก์ด๋/Python - Gold4 (0) | 2025.08.07 |
[๋ฐฑ์ค] 14500. ํ ํธ๋ก๋ฏธ๋ ธ/Python - Gold4 (2) | 2025.08.06 |
[๋ฐฑ์ค] 14502. ์ฐ๊ตฌ์/Python - Gold4 (0) | 2025.08.03 |