코딩/백준

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

thisisjade 2022. 1. 20. 21:06
728x90

문제 출처: https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

www.acmicpc.net

 

문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

 

입력

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

 

출력

각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.

 

예제 입력 1

6 8 10
25 52 60
5 12 13
0 0 0

 

예제 출력 1

right
wrong
right

 

문제 조건이 z가 제일 높은 값 주는 줄 알았는데 아니더라고요 그래서 두번만에 풀었네요

 

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")

while문으로 조건을 주고 돌리면 풀이 완료입니다.

max(x,y,z)**2 *2를 한 이유는 x, y, z의 제곱중에 최댓값이 있기때문에 식의 오른쪽에 따로 더 해주는 것보다 *2하는게 보기가 좋아서 그렇게 식을 짰습니다.

 

 

728x90