본문 바로가기
백준알고리즘/기하 1

(Python/🥉3)백준 알고리즘 4153번: 직각삼각형

by windy7271 2022. 5. 26.
728x90
반응형

문제 출처:https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

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

www.acmicpc.net

풀이:

 


list_x = []
list_y = []
list_z = []
for i in range(3):
    x,y,z = map(int,input().split())
    list_x.append(x**2)
    list_y.append(y**2)
    list_z.append(z**2)

for i in range(len(sys.stdin.readline())-1):
    if list_z[i] == list_x[i] + list_y[i]:
        print('right')
    else:
        print('wrong')

print(0,0,0,sep= " ")

틀린 풀이이다 

처음에 이렇게 풀었지만 z가 가장 긴변이라는 말이 없다.. 

 

li = []

while True:
    a = list(map(int,input().split()))
    if(a == [0, 0, 0]):
        break
    li.append(a)

for i in li:
    i.sort()
    if(i[0]**2 + i[1]**2 == i[2]**2):
        print("right")
    else:
        print("wrong")

 

i.sort로 받은 수를 정렬해주고 나서 피타고라스 공식을 사용하면 된다

반응형

댓글