[알고리즘] 백준 4153 직각삼각형 - B3

eternal moment·2023년 4월 3일
0

2023.04.03 풀이

import sys
input=sys.stdin.readline
arr=[]
a=0
b=0
c=0

while True:
    a, b, c=map(int, input().split())
    if a==0 and b==0 and c==0:
        break
    arr.append(a)
    arr.append(b)
    arr.append(c)
    arr.sort()

    if arr[2]**2==arr[0]**2+arr[1]**2 and arr[0]+arr[1]>arr[2]:
        print("right")
    else:
        print("wrong")
    arr.clear()
  • 길이 순으로 입력되지 않을 수 있고, 정삼각형이나 이등변삼각형일 수 있고(정렬 시 a==b 또는 b==c /a==b==c), 삼각형의 결정조건 (a+b>c), 피타고라스(a제곱+b제곱=c제곱) 을 만족해야한다고 생각하여 리스트에 넣고 정렬.

다른 풀이

while True:
    a, b, c = sorted(map(int, input().split()))
    if (a, b, c) == (0, 0, 0):
        break
    if a**2 + b**2 == c**2:
        print("right")
    else:
        print("wrong")
  • 위의 풀이 외의 다른 풀이를 참고해도 피타고라스의 정리로만 푼 풀이가 많았음
  • if 절 간소화

check point

  • 1번째줄 import 구문 복붙안해서 런타임에러 .. 잘 보고 내자 ..
  • if a==2 and b==3: -> if (a,b) ==(2, 3): 로 간단히 쓸 수 있음

0개의 댓글