[10101] 백준 문제풀이 - 삼각형 외우기

https://www.acmicpc.net/problem/10101

문제

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

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

  • 세 각의 크기가 모두 60이면, Equilateral
  • 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
  • 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
  • 세 각의 합이 180이 아닌 경우에는 Error

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

입력

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

출력

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

풀이

중첩 if문을 사용하여 풀 수 있는 문제, 되게 간단한 문제인데 정답 비율이 57%인 것을 보아서는 Isosceles와 Scalene의 if문을 잘못 쓴 것으로 보인다

1
2
3
4
5
6
7
8
9
10
11
12
13
n1 = int(input())
n2 = int(input())
n3 = int(input())

if n1 + n2 + n3 != 180:
    print("Error")
else:
    if n1 == n2 == n3:
        print("Equilateral")
    elif n1 == n2 or n1 == n3 or n2 == n3:
        print("Isosceles")
    elif n1 != n2 and n1 != n3 and n2 != n3:
        print("Scalene")

댓글남기기