본문 바로가기
[Baekjoon Online Judge] 풀이

[Baekjoon Online Judge] 백준 4153번: 직각삼각형 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2022. 12. 26.
반응형

 

안녕하세요.

이번 포스팅은 백준 온라인 저지의 4153번 문제 풀이입니다.

문제 이름은 "직각삼각형" 입니다.

 

 

문제 링크는 바로 밑의 링크를 확인해주세요.

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

 

4153번: 직각삼각형

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

www.acmicpc.net

 

 

1
2
3
4
5
6
7
8
9
while(1):
    num = map(int, input().split())
    l = sorted(num)
    if (l[0]==0and (l[1]==0and (l[2]==0):
        break
    elif (l[0]**2+l[1]**2== (l[2]**2):
        print("right")
    else:
        print("wrong")
cs

 

 

1. 여러 개의 테스트케이스로 주어지며 0 0 0이 입력 될 때까지 반복하기 때문에

while 문으로 무한 반복문을 작성합니다.

 

 

2. 먼저 3개의 변을 입력 받을 변수를 선언합니다.

입력에서는 공백을 기준으로 3개의 수를 받기 때문에 split() 내장 함수를 사용합니다.

 

 

3. 직각 삼각형의 수학 공식인

을 사용하기 위해서 sorted() 함수를 사용해서 리스트를 선언합니다.

오름차순으로 정렬되기 때문에 가장 큰 값은 인덱스 2(l[2])가 됩니다.

 

 

4~5. 입력 받은 3개의 변이 0 0 0 이면 break를 사용해서 while 무한 반복문을 탈출합니다.

 

 

6~7. 직각 삼각형의 수학 공식으로 계산을 하여 맞을 경우 right를 출력합니다.

sorted()로 정렬하였기 때문에 리스트의 인덱스 2번(l[2])은 가장 큰 수가 됩니다.

 

 

8~9. 직각 삼각형이 아닐 경우 wrong을 출력합니다.

댓글