728x90
[๋ฌธ์ ๋งํฌ] ๐
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
ํ์ด ๋ฐฉ๋ฒ
๐ก B โ A ์์ผ๋ก ์กฐ๊ฑด์ ํ์ธํ๊ณ ์ฒ๋ฆฌ
B ๋ถํฐ ํ์ธ
- B ๊ฐ C ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด, B ๋ฅผ 1 ๊ฐ์์ํค๊ณ , ๊ฒฐ๊ณผ๊ฐ์ 1 ๋์ ํ๋ฉฐ ์ฆ๊ฐ์ํจ๋ค.
- ๊ฐ์์ํค๋ค๊ฐ B ๊ฐ C ๋ณด๋ค ์์์ง๋ฉด ๋ฃจํ๋ฅผ ์ค๋จ์ํจ๋ค.
- ์ถ๊ฐ๋ก, B ๊ฐ 1 ๋ณด๋ค ์์์ง๋ฉด ๋ฃจํ๋ฅผ ์ค๋จํ๋ค.
A ๋ ๋ง์ฐฌ๊ฐ์ง๋ก B ์ ๋น๊ตํ๋ฉฐ ๋ฃจํ๋ฅผ ๋๊ฒ ํ๋ค.
๋ฃจํ๊ฐ ๋๋๋ฉด ๋ค์ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ค. A ์ B ๊ฐ ๊ฐ๊ฑฐ๋, A ์ C ๊ฐ ๊ฐ์ผ๋ฉด ๊ฒฐ๊ณผ์ -1 ์ ์ ์ฅํ๋ค.
Solution
T = int(input()) # ํ
์คํธ ์ผ์ด์ค ์
for test_case in range(1, T + 1):
A, B, C = map(int, input().split())
result = 0
while B >= C and B > 1:
B -= 1
result += 1
while A >= B and A > 1:
A -= 1
result += 1
if A == B or A == C:
result = -1
print(f"#{test_case} {result}")
๐ฉ๐ป ํ๊ณ
์ฒ์์ -1 ์ถ๋ ฅ ์กฐ๊ฑด์ ์ด๋ ๊ฒ ์์ฑํ๋๋ ์ ์ถ์ ์คํจํด์. ๋ฐ๋ก ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ฐธ๊ณ ํด์ ์์ ํ๋ค.
if A == B or A == C:
result = -1
๋ฐ๋ก ํ ์คํธ ์ผ์ด์ค
- ์
๋ ฅ์ด ๊ฐ์ํ ์ ์๋ ๊ตฌ์กฐ์ผ ๋
- ํ ์คํธ ์ผ์ด์ค: 2 2 2
- ๊ธฐ๋ ์ถ๋ ฅ: -1
- ์ค๋ช : A == B == C์ด๋ฏ๋ก ์ค์ฌ๋ ์กฐ๊ฑด์ ๋ง์กฑํ ์ ์์ต๋๋ค.
- A๊ฐ B๋ณด๋ค ํฐ ๊ฒฝ์ฐ
- ํ ์คํธ ์ผ์ด์ค: 3 2 1
- ๊ธฐ๋ ์ถ๋ ฅ: -1
- ์ค๋ช : ์ด๋ฏธ A > B > C ํํ๋ก A < B < C ์กฐ๊ฑด์ ๋ง๋ค ์ ์์ต๋๋ค.
- B์ C๊ฐ ๊ฐ์์ง ์ ์๋ ๊ฒฝ์ฐ
- ํ ์คํธ ์ผ์ด์ค: 1 2 2
- ๊ธฐ๋ ์ถ๋ ฅ: -1
- ์ค๋ช : B์ C๊ฐ ๊ฐ๊ธฐ ๋๋ฌธ์ ๊ฐ์ํด๋ A < B < C ์กฐ๊ฑด์ ๋ง๋ค ์ ์์ต๋๋ค.
์ด ๋ฐ๋ก๋ค๋ก ์ฝ๋๋ฅผ ํ ์คํธํ๋ฉด, ์กฐ๊ฑด์ ๋ง์ง ์์ ๋๋ -1์ด ์ถ๋ ฅ๋๋์ง ํ์ธํ ์ ์๋ค.
728x90
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 1940. ๊ฐ๋! RC์นด! (Python/D2) (0) | 2024.11.10 |
|---|---|
| [SWEA] 2005. ํ์ค์นผ์ ์ผ๊ฐํ (Python/D2) (0) | 2024.11.10 |
| [Programmers] L1. ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ (Python) (2) | 2024.11.07 |
| [SWEA] 4676. ๋์ด์ง๋ ์๋ฆฌ ๋ง๋ค๊ธฐ (Python/D3) (0) | 2024.11.04 |
| [SWEA] 12004. ๊ตฌ๊ตฌ๋จ 1 (Python/D3) (0) | 2024.11.04 |