[백준/파이썬] 10101번 풀이

업데이트:



문제 정보


풀이

문제

창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.

삼각형의 세 각을 입력받은 다음,

  • 세 각의 크기가 모두 60이면, Equilateral

  • 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles

  • 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene

  • 세 각의 합이 180이 아닌 경우에는 Error

를 출력하는 프로그램을 작성하시오.

입력 요약
총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.

출력 요약
문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.

코드

a, b, c = tuple([int(input()) for _ in range(3)])
if a==b==c==60:
    print("Equilateral")
elif a+b+c==180:
    if a==b or b==c or c==a:
        print("Isosceles")
    else:
        print("Scalene")
else:
    print("Error")

설명

핵심은 구현 관점에서 창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.

삼각형의 세 각을 입력받은 다음,

  • 세 각의 크기가 모두 60이면, Equilateral

  • 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles …를 만족하도록 로직을 구성하는 것입니다.

코드는 입력을 파싱한 뒤 조건 분기와 계산을 순서대로 수행하고, 문제에서 요구한 형식으로 결과를 출력합니다.

경계값과 예외 케이스도 함께 고려해 오답이 나기 쉬운 상황을 방지합니다.



이런 주제는 어떠신가요?

비슷한 난이도와 유형의 문제를 이어서 보면 풀이 감각을 더 빠르게 잡기 좋습니다.

댓글남기기