[5073] 백준 문제풀이 - 삼각형과 세 변

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

문제

삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.

Equilateral : 세 변의 길이가 모두 같은 경우 Isosceles : 두 변의 길이만 같은 경우 Scalene : 세 변의 길이가 모두 다른 경우 단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 “Invalid” 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.

세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.

입력

각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.

출력

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

풀이

10101번 문제와 유사하다. 60%는 넘을 것 같던 정답비율이 48.914%인 이상한 문제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while True:
    n1, n2, n3 = map(int, input().split(" "))
    arr = []
    arr.append(n1)
    arr.append(n2)
    arr.append(n3)

    if n1 == n2 == n3 == 0:
        break
    else:
        if max(arr) >= (sum(arr) - max(arr)):
            print("Invalid")
        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")

댓글남기기