[백준, BOJ 4153] 직각삼각형 (python)
Problem Solving/BOJ

[백준, BOJ 4153] 직각삼각형 (python)

728x90

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

 

4153번: 직각삼각형

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

www.acmicpc.net


문제

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

입력

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

출력

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

728x90

예제 입력 1

6 8 10
25 52 60
5 12 13
0 0 0

예제 출력 1

right
wrong
right

내 생각

직각 삼각형은

가장 긴 변의 제곱 = 나머지 두 변의 제곱의 합

을 성립해야 한다.

ans = []

while True:
    # 세 변의 길이 입력
    tri = list(map(int, input().split()))

    # '0 0 0'이 입력되면 반복문 종료
    if ((tri[0] == 0) & (tri[1] == 0) & (tri[2] == 0)):
        break

    maximum = max(tri)
    tri.remove(maximum)

    # 직각삼각형의 조건을 성립하는지 검사
    if ((maximum ** 2) == (tri[0] ** 2) + (tri[1] ** 2)):
        ans.append('right')
    else:
        ans.append('wrong')

for i in range(0, len(ans)):
    print(ans[i])

 

728x90