백준
[백준] 5073번 : 삼각형과 세 변 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 10. 31. 13:03
728x90
반응형
5073번: 삼각형과 세 변
각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 세 변의 길이를 모두 0으로 받으면 종료하기 위해 무한 반복문을 사용한다. while (True)
- 세 변의 길이를 입력받는다. a, b, c = map(int, sys.stdin.readline().split())
- 만약 세 변의 길이가 모두 0이면 종료한다. if (a == b == c == 0): break
- 만약 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작으면 if (max(a, b, c) < a + b + c - max(a, b, c))
- 삼각형이므로 세 변의 길이를 비교하여 만약 세 변의 길이가 모두 같으면 if (a == b == c)
- Equilateral을 출력한다. print('Equilateral')
- 만약 두 변의 길이가 같으면 elif (a == b) or (b == c) or (c == a)
- Isosceles를 출력한다. print('Isosceles')
- 만약 세 변의 길이가 모두 다르면 else
- Scalene를 출력한다. print('Scalene')
- 반면에 세 변이 삼각형의 조건을 만족시키지 못하면 else
- Invalid를 출력한다. print('Invalid')
반응형
3. 소스코드
import sys
while (True):
a, b, c = map(int, sys.stdin.readline().split())
if (a == b == c == 0):
break
if (max(a, b, c) < a + b + c - max(a, b, c)):
if (a == b == c):
print('Equilateral')
elif (a == b) or (b == c) or (c == a):
print('Isosceles')
else:
print('Scalene')
else:
print('Invalid')
728x90
반응형