본문 바로가기

프로그래밍/BOJ_Python 목표는 Diamond

[Python | 4153] 직각삼각형

[Python | 4153] 직각삼각형

 

 

주어진 삼각형의 세 변에 대하여 삼각형이 직각인지 아닌지 구하는 문제.

피타고라스의 정리 문제이다.

 

try1, solved!

# 4153
while True:
    x, y, z = map(int, input().split())
    if x==0 and y==0 and z == 0:
        break
    lst = [x, y, z]
    lst = sorted(lst)
    right =  lst[2]**2
    left = lst[1]**2 + lst[0]**2

    if right == left:
        print('right')
    else:
        print('wrong')

 

첨에 쉽다고 생각했는데 풀다보니 어...? 가장 긴 변의 제곱에 대해서 다른 변의 제곱의 합과 비교해야하네? 하는 생각이 들어 고민한 문제. sorted 써서 풀었는데 다른 방법이 있을 것 같긴 하다

 

다른 사람들의 풀이

대체로 다들 비슷했는데 이 풀이가 좀 특색있었다.

피타고라스 식을 약간 변형해서 리스트를 사용하지 않고 풀었다.

 

 

[백준] 4153번 직각삼각형 파이썬 풀이 코딩테스트 연습 기본 수학2 브론즈3

문제 출처: https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지

hiisk.tistory.com

 

while True:
    x, y, z = map(int, input().split())
    if x==0 and y==0 and z==0:
        break
    elif max(x,y,z)**2 *2 == x**2 + y**2 + z**2:
        print('right')
    else:
        print('wrong')