5073๋ฒ: ์ผ๊ฐํ๊ณผ ์ธ ๋ณ
๊ฐ ์ ๋ ฅ์ ๋ง๋ ๊ฒฐ๊ณผ (Equilateral, Isosceles, Scalene, Invalid) ๋ฅผ ์ถ๋ ฅํ์์ค.
www.acmicpc.net
์ค๋ช
์ผ๊ฐํ ์ธ ๋ณ์ ๊ธธ์ด๊ฐ ์ฃผ์ด์ง ๋
- Equilateral : ์ธ ๋ณ์ ๊ธธ์ด๊ฐ ๋ชจ๋ ๊ฐ์ ๊ฒฝ์ฐ
- Isosceles : ๋ ๋ณ์ ๊ธธ์ด๋ง ๊ฐ์ ๊ฒฝ์ฐ
- Scalene : ์ธ ๋ณ์ ๊ธธ์ด๊ฐ ๋ชจ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ
์ผ๊ฐํ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ "Invalid"๋ฅผ ์ถ๋ ฅ(๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๋ณด๋ค ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด์ ํฉ์ด ๊ธธ์ง ์์ผ๋ฉด)
ํ์ด
1. while ๋ฌธ์ผ๋ก ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ์ ๋ฐ๋ณต
2. ์ ๋ ฅ๊ฐ์ ๋ฆฌ์คํธ์ ์ ์ฅํ ํ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
์กฐ๊ฑด๋ฌธ
1. ์ ๋ ฅ๊ฐ์ด ๋ชจ๋ 0์ด๋ฉด ๋ฐ๋ณต๋ฌธ ์ค๋จ
2. ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ ๊ธธ์ด๋ฅผ ํฉํ ๊ฒ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๋ฉด ์ผ๊ฐํ ์กฐ๊ฑด์ ๋ง์ง ์์ผ๋ฏ๋ก 'Invalid' ์ถ๋ ฅ
3. ์ฒซ ๋ฒ์งธ ๊ฐ, ๋ ๋ฒ์งธ ๊ฐ, ์ธ ๋ฒ์งธ ๊ฐ์ด ๋ชจ๋ ๊ฐ๋ค๋ฉด ' Equilateral' ์ถ๋ ฅ
- ์ผ๊ฐํ ์กฐ๊ฑด์ ๋ถํฉ
4. ๋ ๋ณ์ ๊ธธ์ด๊ฐ ๊ฐ์ ๊ฒ ์๋ค๋ฉด 'Isosceles' ์ถ๋ ฅ
- ์ผ๊ฐํ ์กฐ๊ฑด์ ๋ถํฉํ๋ ๊ฐ์ ๊ฐ์ด 2๊ฐ๋ง ์์
5. ์์ ์กฐ๊ฑด์ด ๋ชจ๋ ํด๋นํ์ง ์์ผ๋ฉด 'Scalene' ์ถ๋ ฅ
- ์ผ๊ฐํ ์กฐ๊ฑด์ ๋ถํฉํ๋ ๊ฐ์ ๊ฐ์ด ์๋ค.
Solution
import sys
input = sys.stdin.readline
while True:
num = sorted(list(map(int, input().split())), reverse=True)
if num[0] == 0 and num[1] == 0 and num[2] == 0:
break
if num[0] >= num[1] + num[2]: #๋ฑํธ ์ ๋ถ์ฌ์ค์ ๊ณ์ ์ค๋ฅ
print('Invalid')
elif num[0] == num[1] == num[2]:
print('Equilateral')
elif num[0] == num[1] or num[1] == num[2] or num[2] == num[0]: #๋ฐ๋ก 1 1 2 ๋ต : Invalid
print('Isosceles')
else:
print('Scalene')
๐ฉ๐ป ํ๊ณ
1์๊ฐ ํ์ด๋ฅผ ํ์ง๋ง ์ ์ถ ์คํจ๋ฅผ ํ์ฌ ๊ฒฐ๊ตญ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด์๋ค. ๊ณ์ ํ๋ฆฐ ์ด์ ๋ ์กฐ๊ฑด๋ฌธ์ ์ ์ฝ๋์ ๋ฐ๋๋ก ์ ์๋ ํ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์ผ๊ฐํ ์กฐ๊ฑด์ ๋ถํฉํ์ง ์๋ ๊ฒ์ ๋งจ ๋ฐ์ ์ ์ด๋ฒ๋ฆฌ๋๊น ์ค๊ฐ์ ์ถ๊ฐ๋ก ๋ ์กฐ๊ฑด์ ์ถ๊ฐํด์ค์ผ ํ๋ ์์ธ๊ฐ ๋์์ด ์๊ฒผ๋ค. ใ ใ ๋ธ๋ก ์ฆ ๋ฌธ์ ์๋๋ฐ๋ ํ์ง ๋ชปํด์ ์๋ฝ๋ค..
ํ๋ฆฐ ์ฝ๋
if num[0] == 0 and num[1] == 0 and num[2] == 0:
break
if num[0] == num[1] == num[2]:
print('Equilateral')
elif num[0] == num[1]: # ๋ฐ๋ก 2 1 1 ๋ต : Invalid -> ์ผ๊ฐํ ์กฐ๊ฑด์ ๋ถํฉํ์ง ์๋๋ฐ ์ฌ๊ธฐ์ ๊ฐ์ด ๋์ถ
print('Isosceles')
else:
if num[0] >= num[1] + num[2]: # ๋ฑํธ ์ ๋ถ์ฌ์ค์ ๊ณ์ ์ค๋ฅ
print('Invalid')
elif num[0] != num[1] != num[2]:
print('Scalene')
๊ทธ๋ฌ๋ ๋ฌธ์ ์ ์ ์ฐพ์ง ๋ชปํ๋ค.
์ด๋ฒ์ ๋ฐฐ์ ๋ ๊ฑด ๋ชจ๋ ์กฐ๊ฑด์ ๋ถํฉํ์ง ์๋ ๊ฑธ ์กฐ๊ฑด๋ฌธ ๊ฐ์ฅ ์์ชฝ์ ์ ์ด์ผ ํ๋ค๋ ๊ฒ!
'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 5355๋ฒ : ํ์ฑ ์ํ (Python/๊ตฌํ/Bronze 2) (0) | 2024.03.16 |
|---|---|
| BOJ 3046๋ฒ : ์ผ๊ฐํ๊ณผ R2 (Python/๊ตฌํ/Bronze 4) (0) | 2024.03.12 |
| BOJ 2748๋ฒ : ํผ๋ณด๋์น ์ 2 (Python/Bronze 1) (0) | 2023.09.25 |
| BOJ 2587๋ฒ : ๋ํ๊ฐ2 (Python/Bronze 2) (0) | 2023.05.04 |
| BOJ 6359๋ฒ : ๋ง์ทจํ ์๋ฒ (Python/Bronze 2) (0) | 2023.04.13 |