문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

입력

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

출력

각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.


def solution():
    while True:
        lengths = map(int, input().split())
        a, b, c = sorted(lengths)

        if a == b == c == 0:
            return

        if (a ** 2) + (b ** 2) == (c ** 2):
            print("right")
        else:
            print("wrong")


if __name__ == "__main__":
    solution()

해설

  • 삼각형 세 변의 길이를 입력받고 정수로 변환한 뒤 오름차순으로 정렬한다.
  • 각 세 변의 길이가 모두 0인 경우 종료되도록 한다.
  • 가장 긴 변의 길이의 제곱이 나머지 변의 길이 제곱의 합과 같으면 "right"을 출력하고 아니면 "wrong"을 출력한다.
복사했습니다!