관리 메뉴

솜씨좋은장씨

[BaekJoon] 4153번 : 직각삼각형 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 4153번 : 직각삼각형 (Python)

솜씨좋은장씨 2021. 6. 3. 00:34
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 직각삼각형입니다.

 

4153번: 직각삼각형

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

www.acmicpc.net

Solution

import math

while True:
    input_nums = input()
    
    if input_nums == "0 0 0":
        break
    
    triangle = list(map(int, input_nums.split()))
    
    triangle.sort()
    
    if int(math.sqrt(pow(triangle[0], 2) + pow(triangle[1], 2))) == triangle[2]:
        print("right")
    else:
        print("wrong")

Solution 풀이

이 문제는 0 0 0 이 입력될때까지 입력되는 3개의 수가 피타고라스의 정리를 활용하여

직각삼각형의 세 변의 길이에 해당하는 수들이면 right를 그렇지 않으면 wrong을 출력하는 문제입니다.

피타고라스의 정리는 직각삼각형일 경우

작은 두변의 각각의 길이를 제곱한 값을 더하고 이의 제곱근을 구한 값이 가장 긴변의 값과 같다라는 것입니다.

이를 코드로 구현하기 위해서는 제곱의 값을 구할때 pow를 제곱근의 값은 math의 sqrt를 활용하면됩니다.

int(math.sqrt(pow(triangle[0], 2) + pow(triangle[1], 2))) == triangle[2]
 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments