[백준] 4153번: 직각삼각형

Yanagi·2022년 5월 21일
0

PS

목록 보기
7/7

문제

소스코드

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이 입력될 경우 어떤 방식으로 입력을 받을지를 조금 고민했다.
profile
<'쟤'보단 내가 낫지> 에서 '쟤'를 담당하고 있습니다.

0개의 댓글