알고리즘/백준

백준 4153: 직각삼각형 (Python)

sssbin 2021. 9. 2. 13:16

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

 

4153번: 직각삼각형

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

www.acmicpc.net

 

처음 코드 - 틀렸다

while True:
    x, y, z = map(int, input().split())

    if x==0 and y==0 and z==0:
        break

    if x**2 + y**2 == z**2:
        print('right')
    else:
        print('wrong')

첨엔 왜 틀렸는지 넘 당황스러웠는데.....

문제 어디에도 z가 가장 큰 숫자라는 말이 없다...!!

 

그래서 리스트를 만들어서 가장 큰 숫자만 따로 빼줬다

while True:
    n = list(map(int, input().split()))

    if sum(n) == 0:
        break

    z = max(n)
    n.remove(z)

    if n[0]**2 + n[1]**2 == z**2:
        print('right')
    else:
        print('wrong')

맞았다!