알고리즘 공부/백준 > Python3
[백준 파이썬] #4153: 직각삼각형
IS_배키
2020. 11. 18. 22:44
https://www.acmicpc.net/problem/4153
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
[정답]
import sys
while True:
string=sys.stdin.readline()
s_list=list(map(int,string.split()))
if sum(s_list)==0: #0 0 0이 입력되면 끝나야 하므로 합이 0일때 끝내준다.
break
max_num=max(s_list) #s_list에서 가장 큰 값을 max_num으로 정의
s_list.remove(max_num)
if max_num**2==s_list[0]**2+s_list[1]**2:
print('right')
else:
print('wrong')
'0 0 0' 을 입력하였을 때 프로그램 종료
→ 다른 시각으로 보면, 배열의 합이 0일 때 프로그램 종료
가장 큰 값과 나머지 값들을 구별
→ 가장 큰 값을 변수로 지정하고 배열에서 제거하여, 나머지 값들만 배열에 남게 한다.
그러면 쉽게 계산이 가능하다.