728x90
문제
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다.
주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다.
각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
해답을 구하기 위해서 "피타고라스의 정리 공식"을 적용합니다.
예제 중 6, 8, 10의 경우를 보겠습니다.
6과 8이 각각 x와 y라고 했을 때 10이 z가 되며 계산이 일치하기 때문에 직각삼각형입니다.
공식을 성립 시키기 위해서는 입력된 3개의 값 중에서 가장 큰 값이 z가 되어야 합니다.
사용자 입력 시에 x, y, z를 순서대로 입력한다는 가정이 없습니다.
그래서 값들을 오름차순 정렬하여 가장 큰 값이 마지막 인덱스에 위치하도록 했습니다.
python3 소스코드
import math
import sys
while(1):
sideValue = list(map(int, input().split()))
if sum(sideValue) == 0:
sys.exit()
sideValue.sort()
if sideValue[2] == math.sqrt(sideValue[0]**2 + sideValue[1]**2):
print("right")
else:
print("wrong")
직각삼각형의 빗변(대각) 길이는 math 라이브러리의 제곱근 함수인 sqrt()를 이용하였습니다.
문제에서 제시된 입력이 모두 0일 경우에 마지막 케이스(종료)이기 때문에 exit() 함수를 적용했습니다.
- 끝 -
728x90
'작업 > Problem Solving' 카테고리의 다른 글
백준 1002(터렛) 파이썬(python) 해결 (0) | 2020.12.26 |
---|---|
백준 3053(택시 기하학) 파이썬(python) 해결 (0) | 2020.12.26 |
백준 3009(네 번째 점) 파이썬(python) 해결 (0) | 2020.12.26 |
백준 1085(직사각형에서 탈출) 파이썬(python) 해결 (0) | 2020.12.26 |
백준 9020(골드바흐의 추측) 파이썬(python) 해결 (0) | 2020.12.25 |