Algorithm(알고리즘)/Brute Force

2) 두 매장 사이가 가까운 곳 출력 함수

고로케 2021. 5. 13.
반응형

2. 두 매장 사이가 가까운 곳 출력 함수

# 제곱근 사용을 위한 sqrt 함수
from math import sqrt


# 두 매장의 직선 거리를 계산해 주는 함수
def distance(store1, store2):
    return sqrt((store1[0] - store2[0]) ** 2 + (store1[1] - store2[1]) ** 2)


# 가장 가까운 두 매장을 찾아주는 함수
def closest_pair(coordinates):
    list_1, list_2 = [], []
    dis = distance(coordinates[0],coordinates[1])
    for i in range(len(coordinates)):
        for j in range(i + 1, len(coordinates)):
            if dis > distance(coordinates[i], coordinates[j]):
                dis = distance(coordinates[i], coordinates[j])
                list_1 = coordinates[i]
                list_2 = coordinates[j]

    return [list_1,list_2]


# 테스트
test_coordinates = [(2, 3), (12, 30), (40, 50), (5, 1), (12, 10), (3, 4)]
print(closest_pair(test_coordinates))

결과 : [(2, 3), (3, 4)]



반응형

댓글