문제
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
예제 입력 1
6 8 10
25 52 60
5 12 13
0 0 0
예제 출력 1
right
wrong
right
while True:
nums = list(map(int, input().split()))
if sum(nums) == 0:
break
max_num = max(nums)
nums.remove(max_num)
if nums[0] ** 2 + nums[1] ** 2 == max_num ** 2:
print('right')
else:
print('wrong')
알았던 내용
출력값까지 맞췄지만, 코드가 이쁘지 않아서 조금 아쉬웠다.
몰랐던 내용
나열해서 작성하는 map 사용법에 대해 미숙했다. 그리고 글로벌 변수로 해결하는 것보다는 코드를 좀 더 깔끔하게 사용할 수 있는 조건문을
통한 방식이 조금 더 좋은 방식으로 보인다. 그리고 답에 이르기까지의 과정은 맞았으나, 0 0 0 입력 시 코드가 종료되는 코들르 구현함에 있어 미숙함이 있었다.
배운 내용
피타고라스 계산식에 대한 옳고 그름에 대한 판가름하는 프로그램을 만들었다.