본문 바로가기
IT/알고리즘

[백준] 4153 직각삼각형 파이썬

by 랑_랑 2022. 1. 10.
300x250

파이썬도 기억이 안 나고 코딩을 손 놓은지 몇 달이나 됐다고 많은 것들이 잊혀가고 있다.

 

그때의 기억도 되살릴겸 굳은 머리도 풀어주고 취미활동을 할겸해서 백준 문제나 풀어보려고 한다.

 

가볍게 기억을 되살리기 위해 브론즈 문제로 풀어봤는데 그마저도 어떻게 제출해야하는지 기억이 안나서 많이 틀렸다.

 

문제 링크 : https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

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

www.acmicpc.net

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

 

리스트에 숫자들을 담아준 뒤 max_num를 빼준 후 나머지 두 숫자의 제곱의 합과 같은지 비교해준다.

0 0 0이 되면 빠져나와야 하기 때문에 합으로 break를 걸어준다.

 

max를 저런식으로 구해도 되지만 for 문으로 구했던 기억이 남아있다.

 

a = list(map(int, input().split()))
    max_num = a[0]
    for i in range(len(a)):
        if a[i] >= max_num:
            max_num = a[i]
    print(max_num)

결과
10
60
13
0

 

728x90

'IT > 알고리즘' 카테고리의 다른 글

[백준] 2869 달팽이는 올라가고 싶다.  (0) 2022.01.13
[백준] 1712 손익분기점  (0) 2022.01.13
[백준] 1152 단어의 개수  (0) 2022.01.13
[백준] 4673 셀프 넘버  (0) 2022.01.11
[백준] 4344 평균은 넘겠지  (0) 2022.01.11

댓글