백준(Python) 풀이/수학

백준(Python) 4153번 직각삼각형 풀이

개발윗미 2021. 10. 6. 15:52

Python으로 구현한 4153번 직각삼각형 문제 풀이입니다.

 

https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

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

www.acmicpc.net


while True :
  a, b, c = map(int, input().split())
  if a==0 and b==0 and c==0 :
    break
  
  a *= a
  b *= b
  c *= c
  if a+b == c or a+c == b or b+c == a :
    print("right")
  else :
    print("wrong")

 

기본적으로 삼각형이 직각인지 판별할 때 세변의 길이의 각 제곱 값을 통해 알 수 있다.

 

while문을 통해 세 변의 길이를 입력받고 만약 세 변의 길이가 모두 0이라면 반복문을 빠져나와 종료한다.

 

그렇지 않다면, 변수 a에 a 제곱값을, 변수 b에 b 제곱값을, 변수 c에 c 제곱값을 할당한다.

 

조건문을 통해 3가지의 경우 중 하나라도 만족한다면 직각 삼각형이므로 "right" 문자열을 출력하고

 

그렇지 않다면 직각 삼각형이 아니므로 "wrong" 문자열을 출력한다.