배열 요소에서 특정 값 검색하기

배열은 프로그래밍에서 매우 유용한 데이터 구조입니다. 때때로 우리는 배열에서 특정 값을 찾아야 할 때가 있습니다. 이 문제를 해결하기 위해 다양한 방법이 있습니다.

선형 검색

가장 간단한 방법은 배열의 각 요소를 차례로 검사하여 원하는 값과 일치하는지 확인하는 것입니다. 이를 선형 검색이라고 합니다.

int[] arr = {1, 2, 3, 4, 5};

int searchValue = 3;
boolean found = false;

for (int i = 0; i < arr.length; i++) {
    if (arr[i] == searchValue) {
        found = true;
        break;
    }
}

if (found) {
    System.out.println(searchValue + "를 찾았습니다.");
} else {
    System.out.println(searchValue + "를 찾을 수 없습니다.");
}

이진 검색

이진 검색은 배열이 이미 정렬되어 있을 때 사용할 수 있는 더 효율적인 검색 알고리즘입니다. 이 알고리즘은 배열을 반으로 나누어 찾고자 하는 값과 비교하며 검색을 진행합니다.

import java.util.Arrays;

int[] arr = {1, 2, 3, 4, 5};
int searchValue = 3;

int index = Arrays.binarySearch(arr, searchValue);

if (index >= 0) {
    System.out.println(searchValue + "의 인덱스는 " + index + "입니다.");
} else {
    System.out.println(searchValue + "를 찾을 수 없습니다.");
}

참고 자료