배열 요소 사이의 거리 계산하기

배열은 프로그래밍에서 많이 사용되는 자료구조 중 하나입니다. 배열 요소 사이의 거리를 계산하는 것은 종종 필요한 작업입니다. 이 글에서는 배열 요소 사이의 거리를 계산하는 방법에 대해 알아보겠습니다.

선형 배열의 요소 거리 계산

배열이 선형적으로 구성되어 있다면, 각 요소 사이의 거리는 인덱스 차이로 계산할 수 있습니다. 예를 들어, 다음과 같은 배열이 있다고 가정해봅시다.

arr = [1, 4, 7, 9, 12]

위 배열에서 4와 9 사이의 거리는 인덱스 차이인 3입니다. 따라서 배열 요소 사이의 거리를 계산하는 코드는 다음과 같이 작성할 수 있습니다.

def calculate_distance(arr, index1, index2):
    return abs(index2 - index1)

distance = calculate_distance(arr, 1, 3)
print(distance)  # 출력: 2

다차원 배열의 요소 거리 계산

만약 다차원 배열인 경우, 요소 사이의 거리를 계산하기 위해 다른 방식을 사용해야 합니다. 예를 들어, 2차원 배열의 경우 Euclidean 거리를 계산할 수 있습니다.

import math

def euclidean_distance(p1, p2):
    distance = 0
    for i in range(len(p1)):
        distance += (p1[i] - p2[i]) ** 2
    return math.sqrt(distance)

arr = [[1, 2], [4, 5], [7, 8]]
distance = euclidean_distance(arr[0], arr[2])
print(distance)  # 출력: 7.810249675906654

위 예제에서는 각 점의 좌표를 2차원 배열로 표현하고, 두 점 사이의 Euclidean 거리를 계산하는 함수를 정의했습니다. 배열의 각 요소는 점의 좌표를 나타내고, 계산된 거리는 해당 점들 사이의 거리를 나타냅니다.

맺으며

배열 요소 사이의 거리를 계산하는 방법에 대해 알아보았습니다. 선형 배열의 경우에는 간단히 인덱스 차이로 거리를 계산할 수 있고, 다차원 배열의 경우에는 더 복잡한 계산 방법을 사용해야 합니다. 이러한 거리 계산은 데이터 처리나 패턴 인식 등 다양한 분야에서 활용될 수 있습니다.

참고 자료