데일리 커밋

[백준] 4153번: 직각삼각형

snape 2022. 1. 12. 23:01

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

 

4153번: 직각삼각형

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

www.acmicpc.net

이번 문제는 코드가 너무 난잡?한 거 같다.

백준에서 다른 분들이 푼 숏코딩을 봐도 이해가 안되어서 너무 아쉽다..

그 분들의 코드를 보면서 이해하려고 노력해봐야겠다.

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

 

새롭게 안 사실은,

map을 쓸 경우에는 list가 아니어서 list로 만들어줘야 한다는 것이다.

그것도 모르고 슬라이싱을 계속 하다가 map은 list가 아니라는 것을 보고 충격받았다.

아직까지 map의 정체를 밝혀내진 못 했지만 계속 찾아봐야겠다.