본문 바로가기
백준

[백준] 5073번 : 삼각형과 세 변 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 10. 31.
728x90
반응형

 

 

5073번: 삼각형과 세 변

각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. 세 변의 길이를 모두 0으로 받으면 종료하기 위해 무한 반복문을 사용한다. while (True)
  3. 세 변의 길이를 입력받는다. a, b, c = map(int, sys.stdin.readline().split())
  4. 만약 세 변의 길이가 모두 0이면 종료한다. if (a == b == c == 0): break
  5. 만약 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작으면 if (max(a, b, c) < a + b + c - max(a, b, c))
  6. 삼각형이므로 세 변의 길이를 비교하여 만약 세 변의 길이가 모두 같으면 if (a == b == c)
  7. Equilateral을 출력한다. print('Equilateral')
  8. 만약 두 변의 길이가 같으면 elif (a == b) or (b == c) or (c == a)
  9. Isosceles를 출력한다. print('Isosceles')
  10. 만약 세 변의 길이가 모두 다르면 else
  11. Scalene를 출력한다. print('Scalene')
  12. 반면에 세 변이 삼각형의 조건을 만족시키지 못하면 else
  13. 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
반응형