본문 바로가기
백준

[백준] 4153번 : 직각삼각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 8. 3.
728x90
반응형

 

 

4153번: 직각삼각형

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. 0 0 0을 입력받을 때 멈추기 위해 무한 반목문을 사용한다. while (True)
  3. 삼각형의 세 변의 길이를 입력받아 리스트로 저장한다. li = list(map(int, sys.stdin.readline().split()))
  4. 만약 0의 개수가 3개이면 0 0 0을 입력받은 경우이므로 종료한다. if (li.count(0) == 3): break
  5. 종료되지 않았다면 입력받은 세 길이를 오름차순 정렬한다. li.sort()
  6. 직각삼각형이 되려면 제일 긴 변의 제곱이 나머지 두 변의 제곱의 합과 같아야 한다. 하여 오름차순 정렬한 각 변의 길이를 가지고 직각삼각형을 판별한다. if (li[0] ** 2 + li[1] ** 2 == li[2] ** 2)
  7. 만약 직각삼각형이면 right를 출력한다. print('right')
  8. 직각삼각형이 아니라면 wrong을 출력한다. print('wrong')
반응형

3. 소스코드

import sys

while (True):
    li = list(map(int, sys.stdin.readline().split()))
    if (li.count(0) == 3):
        break
    
    li.sort()
    if (li[0] ** 2 + li[1] ** 2 == li[2] ** 2):
        print('right')
    else:
        print('wrong')
728x90
반응형