상세 컨텐츠

본문 제목

백준[4153번]:: 직각삼각형(Python,파이썬)

Dong_Eun2(이동은)/알고리즘(백준)

by Dong_Eun2 2020. 9. 12. 20:24

본문

www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

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

www.acmicpc.net

 

 

나의 코드:

 

while True:
    num_list = list(map(int,input().split()))
    num_list.sort()
    
    if num_list[0] == 0 and num_list[1] == 0 and num_list[2] == 0:
        break
    elif num_list[2] ** 2 == (num_list[1] ** 2 + num_list[0] **2): 
        print("right")
    else:
        print("wrong")

 

위 코드는 직각 삼각형은 빗변길이의 제곱은 빗변을 제외한 두변의 각각 제곱의 합과 같다는 공식을 알면 쉽게 해결 할 수 있는 문제이다.

 

 

처음 코드를 썻을땐, a,b,c의 숫자가 항상 오름차순인 줄 알고 list를 만들지 않고 코딩을 하였다. 문제를 틀리고 다시 보니 입력 값들의 순서가 바뀔수도 있겠다고 생각하여 삼각형의 길이를 리스트로 만들어서  sort() 함수를 사용하여 오름차순 정렬을 하고, 문제를 해결하였다.

관련글 더보기

댓글 영역