프로그래밍/백준

[알고리즘] 백준 4153 파이썬 -직각삼각형

매 석 2022. 11. 7. 21:11
반응형

 

 

4153번: 직각삼각형

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

www.acmicpc.net

 

문제

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

 

문제풀이

while True:
    arr = list(map(int,input().split()))
    if(arr[0]==0 and arr[1]==0 and arr[2]==0):
        break
    arr.sort()
    if(arr[0]!=0 and arr[1]!=0 and arr[2]!=0):
        if(arr[0]**2+arr[1]**2==arr[2]**2):
            print("right")
        else:
            print("wrong")
    else:
        print("wrong")

- 세변의 길이를 입력받고, 그 값이 0 0 0 즉 입력의 끝이라면 while문을 종료한다.

- 그렇지 않다면 입력받은 세 변을 오름차순으로 정렬한다.

- 이후 세 변 모두 0이 아니고 피타고라스 정의를 만족한다면 직각삼각형으로 간주하여 "right"를 출력한다.

- 그 외의 경우는 모두 직각삼각형이 아니므로, "wrong"을 출력한다.