본문 바로가기

baekjoon-online-judge

[python] 백준 4153번 : 직각삼각형

 

4153번: 직각삼각형

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

www.acmicpc.net

 

 

문제

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

입력

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

출력

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

풀이

import math

num = list(map(int, input().split()))
num.sort()

while num[0] != 0 and num[1] != 0 and num[2] != 0:
    if math.sqrt(num[0] * num[0] + num[1] * num[1]) == num[2]:
        print("right")
    else:
        print("wrong")

    num = list(map(int, input().split()))
    num.sort()

세 변의 길이를 리스트 형태로 받아 sort() 메소드로 정렬하였다.

 

이후 피타고라스의 법칙에 따라

가장 긴 변 C의 제곱은 A의 제곱과 B의 제곱의 합과 같음을 이용하여 

"right"과 "wrong"을 판별하였다.