4153번 - 직각삼각형
** 정답코드
while True: a = list(map(int,input().split())) max_num = max(a) if sum(a) == 0: break a.remove(max_num) if a[0]**2 + a[1]**2 == max_num**2: print('right') else: print('wrong')
여기서 리스트로 받는 점은 이해가 되는데 왜 a.remove를 해줘야하는지 궁금합니다.
리스트로 입력 받았으면
while True: a = list(map(int,input().split())) max_num = max(a) if sum(a) == 0: break if a[0]**2 + a[1]**2 == a[2]**2: print('right') else: print('wrong')
이런 식으로 코드를 작성해도 답이 나와야하는거 아닌가요?
a[2]가 가장 큰 값이라는 보장이 있나요?
5 4 3 같은 경우를 생각해보시면 될 거 같습니다.
아 감사합니다. 그 말을 들으니까 바로 이해가 됐습니다.
최댓값을 remove를 하게 되면 최댓값을 제외한 남은 두 값이 리스트의 0,1 번째 값이 되는거군요...
리스트의 2번째 값은 없어지는거구요! 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
jus981014 3년 전
** 정답코드
여기서 리스트로 받는 점은 이해가 되는데 왜 a.remove를 해줘야하는지 궁금합니다.
리스트로 입력 받았으면
이런 식으로 코드를 작성해도 답이 나와야하는거 아닌가요?