문제

소스코드
import sys
while True:
numList = list(map(int, sys.stdin.readline().strip().split()))
if sum(numList) == 0:
break
maxNum = max(numList)
numList.remove(maxNum)
if numList[0]**2 + numList[1] **2 == maxNum ** 2:
print("right")
else:
print("wrong")
코드 해설
- 세 수를 입력 받고, 리스트로 만들어 준다.
- 리스트에서 가장 큰 수를 고른다.
- 0 0 0을 입력하면 프로그램이 종료되는데, 0 0 0의 합은 0이므로 이를 활용한다.
- remove() 함수를 사용하여 가장 큰 수를 numList에서 빼준다.
- 피타고라스 정리를 활용하여 식을 만들어주고 직각이 맞으면 right, 틀리면 wrong을 반환한다.
느낀 점
- 크게 어렵진 않았지만 리스트로 구현한 후, 어떻게 큰 수를 빼야할지, 000이 입력될 경우 어떤 방식으로 입력을 받을지를 조금 고민했다.