https://www.acmicpc.net/problem/4153
[정답]
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일 때 프로그램 종료
가장 큰 값과 나머지 값들을 구별
→ 가장 큰 값을 변수로 지정하고 배열에서 제거하여, 나머지 값들만 배열에 남게 한다.
그러면 쉽게 계산이 가능하다.
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #3009: 네 번째 점 (0) | 2020.12.06 |
---|---|
[백준 파이썬] #1427: 소트인사이드 (0) | 2020.11.18 |
[백준 파이썬] #2941: 크로아티아 알파벳 (0) | 2020.11.17 |
[백준 파이썬] #2869: 달팽이는 올라가고 싶다 (0) | 2020.11.17 |
[백준 파이썬] #2751: 수 정렬하기 2 (0) | 2020.11.17 |