배열의 가운데 요소 찾기

배열의 가운데 요소를 찾는 방법은 다양합니다. 여러가지 방법 중에서 가장 간단한 방법을 알아보겠습니다.

방법 1: 배열 길이를 이용하기

가장 간단한 방법은 배열의 길이를 이용하는 것입니다.

  1. 먼저, 배열의 길이를 구합니다.
  2. 배열의 길이가 홀수인 경우, 중간에 있는 요소를 반환합니다.
  3. 배열의 길이가 짝수인 경우, 중간에 있는 두 요소 중 어느 것을 반환할지 결정해야 합니다. 보통 첫 번째 중간 요소를 선택하도록 합니다.
def find_middle_element(arr):
    length = len(arr)
    
    if length % 2 == 1:  # 홀수일 경우
        middle_index = length // 2
        return arr[middle_index]
    else:  # 짝수일 경우
        middle_index1 = length // 2
        middle_index2 = middle_index1 - 1
        return [arr[middle_index1], arr[middle_index2]]

방법 2: 이진 탐색 활용하기

배열이 이미 정렬되어 있다면, 이진 탐색을 활용해서 가운데 요소를 찾을 수도 있습니다.

  1. 배열을 정렬합니다.
  2. 배열 길이의 절반인 가운데 요소의 인덱스를 찾습니다.
  3. 정렬된 배열에서 해당 인덱스에 있는 요소를 반환합니다.
def binary_search(arr):
    arr.sort()  # 배열 정렬

    mid_index = len(arr) // 2

    return arr[mid_index]

요약

배열의 가운데 요소를 찾는 방법은 다양하지만, 가장 간단한 방법은 배열의 길이를 이용하는 것입니다. 이진 탐색을 활용하면 정렬된 배열에서도 가운데 요소를 찾을 수 있습니다. 어떤 방법을 선택하더라도, 배열의 길이에 따라 홀수 혹은 짝수에 따른 예외 처리가 필요합니다.

#배열 #가운데요소