Algorithm(알고리즘)/Brute Force
2) 두 매장 사이가 가까운 곳 출력 함수
반응형
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)]
반응형
'Algorithm(알고리즘) > Brute Force' 카테고리의 다른 글
3) 물이 담길수 있는 양 출력 함수 (0) | 2021.05.13 |
---|---|
1) 두 카드 뭉치에서 1개씩 뽑아 가장 큰 곱을 구하기 (0) | 2021.05.13 |
댓글