배열의 가운데 요소 찾기
배열의 가운데 요소를 찾는 방법은 다양합니다. 여러가지 방법 중에서 가장 간단한 방법을 알아보겠습니다.
방법 1: 배열 길이를 이용하기
가장 간단한 방법은 배열의 길이를 이용하는 것입니다.
- 먼저, 배열의 길이를 구합니다.
- 배열의 길이가 홀수인 경우, 중간에 있는 요소를 반환합니다.
- 배열의 길이가 짝수인 경우, 중간에 있는 두 요소 중 어느 것을 반환할지 결정해야 합니다. 보통 첫 번째 중간 요소를 선택하도록 합니다.
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: 이진 탐색 활용하기
배열이 이미 정렬되어 있다면, 이진 탐색을 활용해서 가운데 요소를 찾을 수도 있습니다.
- 배열을 정렬합니다.
- 배열 길이의 절반인 가운데 요소의 인덱스를 찾습니다.
- 정렬된 배열에서 해당 인덱스에 있는 요소를 반환합니다.
def binary_search(arr):
arr.sort() # 배열 정렬
mid_index = len(arr) // 2
return arr[mid_index]
요약
배열의 가운데 요소를 찾는 방법은 다양하지만, 가장 간단한 방법은 배열의 길이를 이용하는 것입니다. 이진 탐색을 활용하면 정렬된 배열에서도 가운데 요소를 찾을 수 있습니다. 어떤 방법을 선택하더라도, 배열의 길이에 따라 홀수 혹은 짝수에 따른 예외 처리가 필요합니다.
#배열 #가운데요소