데굴데굴

[파이썬] 4153번: 직각삼각형 본문

algorithm/백준

[파이썬] 4153번: 직각삼각형

aemaaeng 2022. 7. 26. 17:18

4153번: 직각삼각형 (acmicpc.net)

 

4153번: 직각삼각형

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

www.acmicpc.net

 

피타고라스 공식을 활용하여 푸는 문제이다.

처음에는 당연하게도 a, b, c로 나눠서 입력받은 후에 계산을 수행했는데 예제 입력을 다 맞았는데도 불구하고 채점만 하면 틀렸다고 나왔다.

도저히 왜인지 모르겠어서 질문을 읽어보니 문제에 '숫자가 오름차순으로 주어진다'는 조건이 명시되어 있지 않다는 것을 알게 되었다. 

즉, 빗변의 크기가 맨 앞에 제시될 수도 있음을 간과한 것이다.

따라서 이 문제는 각 수를 리스트에 한데 모은 후 최댓값을 찾아 그 값을 기준으로 연산을 수행하는 것이 포인트이다.

 

while True:
    line = list(map(int, input().split()))
    if sum(line) == 0:
        break
    max_line = max(line)
    line.remove(max_line)
    if line[0]**2 + line[1]**2 == max_line**2:
        print('right')
    else:
        print('wrong')

최댓값은 따로 변수에 저장한 후 리스트에서 삭제한다. 

'algorithm > 백준' 카테고리의 다른 글

[파이썬] 11050번: 이항 계수 1  (0) 2022.08.07
[파이썬] 2164번: 카드2  (0) 2022.08.05
[파이썬] 11655번: ROT13  (0) 2022.07.22
[파이썬] 10820번: 문자열 분석  (0) 2022.07.19
[파이썬] 11399번: ATM  (0) 2022.07.18
Comments