백준 BaekJoon Online Judge // 4153
2021. 1. 23. 14:01ㆍProgramming/BOJ
백준 알고리즘 BaekJoon Online Judge 4153번 "직각삼각형" 문제입니다.
while True:
lst = list(map(int, input().split()))
if lst[0] == 0 and lst[1] == 0 and lst[2] == 0:
break
else:
lst.sort()
if lst[2]**2 == lst[0]**2 + lst[1]**2:
print("right")
else:
print("wrong")
세 수를 입력받고 그 수들을 변의 길이로 하는 삼각형이 직각삼각형인지 판별하는 문제다.
직각삼각형을 판별하는 가장 대표적인 방법은 피타고라스의 정리를 사용하는 것이다.
피타고라스의 정리란 삼각형의 세 변의 길이 a,b,c(a<=b<c)가 주어졌을 때, a^2 + b^2 = c^2을 만족하는 경우 그 삼각형은 직각삼각형이라고 하는 정리다.
하지만 세 수가 이쁘게 정렬되어서 입력되지는 않을 것이기 때문에 리스트로 입력받아서 정렬을 해주고 피타고라스의 정리를 사용한다.
0 0 0이 입력될 경우 종료가 되므로 0 0 0이 입력되었을 때 break문을 넣는 것도 빼먹어서는 안 된다.
'Programming > BOJ' 카테고리의 다른 글
백준 BaekJoon Online Judge // 10872 (0) | 2021.01.23 |
---|---|
백준 BaekJoon Online Judge // 3053 (0) | 2021.01.23 |
백준 BaekJoon Online Judge // 3009 (0) | 2021.01.22 |
백준 BaekJoon Online Judge // 1085 (0) | 2021.01.22 |
백준 BaekJoon Online Judge // 9020 (0) | 2021.01.22 |