[python] 두 점 사이의 직선 길이 구하기

nayoon·2021년 6월 1일
0

computer

목록 보기
14/25

최소 스패닝 트리 문제들을 부시다가 2차원 직선 길이를 구하는 문제를 만났다.

제곱 문법은 아는데 루트 문법은 몰라서 파이썬 공식 문서의 math 모듈을 참고하다가 다음과 같은 친구를 만났다.

math.dist(p, q)

두 점이 같은 차원일 경우 두 점 사이의 거리를 구해준다는데..!

import math

print(math.dist([1, 2], [2, 3]))
# 1.4142135623730951

파이썬 공식 문서는 참고하면 참고할 수록 코테에 큰 도움이 된다..

내가 짜고 있던 2차원 직선 길이 공식은 아래와 같았다.

def line(a, b):
    x = (a[0] - b[0]) ** 2
    y = (a[1] - b[1]) ** 2

    return round((x + y) ** 0.5, 2)

2차원으로 고정되어 있기 때문에 위의 math.dist보다 안 좋다.

python 3.8부터 새로 나왔다는데 알아두면 좋을 것 같당!

아무튼 루트는 다음과 같다.

math.sqrt(x)

이렇게도 할 수 있다.

x ** 0.5

profile
뚜벅뚜벅 열심히 공부하는 개발자

0개의 댓글