์๋ ํ์ธ์! ์ค๋์ ๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง์ 14568๋ฒ ๋ฌธ์ , "์ฌํ ๋๋ ์ฃผ๊ธฐ"์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ์ฌํ์ ๋๋ ์ฃผ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ๊ณผ ํจ๊ป Python์ผ๋ก ์์ฑํ ์ ๋ต ์ฝ๋๋ฅผ ์๊ฐํ๊ฒ ์ต๋๋ค.
1. ๋ฌธ์ ์ค๋ช
์ฐ๋ฆฌ๋ ์ด N๊ฐ์ ์ฌํ์ ๋จ๊ท, ์ํ, ํํฌ ์ธ ๋ช ์๊ฒ ๋๋ ์ฃผ๋ ค๊ณ ํฉ๋๋ค. ์ฌํ์ ๋๋ ์ฃผ๋ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ฌํ์ ํฉ ๊ฐ์๊ฐ N๊ฐ๊ฐ ๋์ด์ผ ํฉ๋๋ค.
- ๋จ๊ท๊ฐ ๋ฐ๋ ์ฌํ์ ๊ฐ์(a)๋ ์ํ์ด ๋ฐ๋ ์ฌํ์ ๊ฐ์(b)๋ณด๋ค 2๊ฐ ์ด์ ๋ง์์ผ ํฉ๋๋ค. (a >= b + 2)
- ๊ฐ ๊ฐ์ธ๋น ์ต์ 1๊ฐ ์ด์์ ์ฌํ์ ๋ฐ์์ผ ํฉ๋๋ค.
- ํํฌ๊ฐ ๋ฐ๋ ์ฌํ์ ๊ฐ์(c)๋ ์ง์์ฌ์ผ ํฉ๋๋ค.
์ด ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ผ ํฉ๋๋ค.
๋ฐฑ์ค ๋ฌธ์ URL: https://www.acmicpc.net/problem/14568
2. ์ ๊ทผ๋ฒ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋์ ๊ฐ์ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค:
- ๋จผ์ , ์ฌํ์ ๊ฐ์ N์ ์ ๋ ฅ๋ฐ์ต๋๋ค.
- ์ฌํ์ ๋๋ ์ฃผ๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์ต๋๋ค.
- ๋ง์กฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ๊ฒฌ๋ ๋๋ง๋ค ์ ๋ต ๋ณ์๋ฅผ ์ฆ๊ฐ์ํต๋๋ค.
3. Python ์ฝ๋
# ์ฌํ์ ๊ฐ์ ์
๋ ฅ
N = int(input())
# ์ ๋ต ์ถ๋ ฅ ๋ณ์
ans = 0
# ์ฌํ ๋๋ ์ฃผ๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๊ฒฝ์ฐ์ ์ ์ฐพ๊ธฐ
for a in range(1, (N + 1)):
for b in range(1, (N + 1 - a)):
c = N - a - b # ํํฌ๊ฐ ๋ฐ๋ ์ฌํ์ ๊ฐ์
if (a + b + c == N) and \
(a >= b + 2) and \
(a > 0 and b > 0 and c > 0) and \
(c % 2 == 0):
ans += 1
# ์ ๋ต ์ถ๋ ฅ
print(ans)
4. ์ฝ๋ ์ค๋ช
- ์ฌํ ๋๋ ์ฃผ๋ ์กฐ๊ฑด ๋ง์กฑํ๋ ๊ฒฝ์ฐ ์ฐพ๊ธฐ
for a in range(1, (N + 1)):
for b in range(1, (N + 1 - a)):
c = N - a - b
if (a + b + c == N) and \
(a >= b + 2) and \
(a > 0 and b > 0 and c > 0) and \
(c % 2 == 0):
ans += 1
์ด์ค ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ a, b๋ฅผ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ์ผ๋ก ์๋ํฉ๋๋ค.
๋ด๋ถ ๋ฐ๋ณต๋ฌธ์์ c๋ ์ ์ฒด ์ฌํ์ ๊ฐ์ N๊ณผ a, b์ ๊ฐ์ ์ด์ฉํ์ฌ ๊ณ์ฐ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๊ฒฝ์ฐ ans ๋ณ์๋ฅผ ์ฆ๊ฐ์ํต๋๋ค.
์ด ์ฝ๋๋ ์ฌํ์ ๋๋ ์ฃผ๋ ์กฐ๊ฑด์ ์์ ํ์ํ๋ฉด์ ๋ชจ๋ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
๋ฐ๋ผ์ ์๋์ ์ผ๋ก ์์ N์ ๋ํด์๋ ๋น ๋ฅด๊ฒ ๋์ํ์ง๋ง, N์ด ํฌ๋ฉด ๊ณ์ฐ ์๊ฐ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค.
4. Github์ผ๋ก ํ์ธ
์ ์ฝ๋์ GitHub ์ฐธ์กฐ ๋งํฌ
'๐ ์๊ณ ๋ฆฌ์ฆ > BOJ(๋ฐฑ์ค)_Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ(๋ฐฑ์ค) 14252[๊ณต์ฝ์์ด] (0) | 2024.06.15 |
---|---|
BOJ(๋ฐฑ์ค) 1978[์์ ์ฐพ๊ธฐ] (0) | 2024.06.13 |
BOJ(๋ฐฑ์ค) 2503[์ซ์ ์ผ๊ตฌ] (0) | 2024.06.07 |
BOJ(๋ฐฑ์ค) 19532[์ํ์ ๋น๋๋ฉด๊ฐ์์ ๋๋ค] (0) | 2024.06.07 |
BOJ(๋ฐฑ์ค) 1816[์ํธ ๋น๋ฐ๋ฒํธ ๊ฒ์ฆ] (0) | 2024.06.07 |