🧮

Binary Search

Binary Search
보통 알고리즘 +20pts

Problem

Implement binary search to find a target in a sorted array. Return the index or -1 if not found.

Examples

Input: binarySearch([1, 2, 3, 4, 5], 3)
Output: 2
Input: binarySearch([1, 2, 3, 4, 5], 6)
Output: -1

Explanation

이 문제는 **이진 탐색(Binary Search)** 알고리즘을 학습합니다. 정렬된 배열에서 O(log n) 시간에 원소를 찾는 효율적인 방법입니다. **이진 탐색의 핵심 원리** 정렬된 배열에서 중간값을 확인하고, 찾는 값이 중간값보다 크면 오른쪽 절반, 작으면 왼쪽 절반만 탐색합니다. 매 단계마다 탐색 범위가 절반으로 줄어듭니다. **알고리즘 단계** 1. left=0, right=length-1로 시작 2. mid = (left + right) / 2 계산 3. arr[mid]와 target 비교: - 같으면: mi...

View detailed explanation →

Key Concepts

이진 탐색 알고리즘 left/right 포인터 분할 정복 O(log n) 시간복잡도
Time: O(log n) Space: O(1)
solution.js
Ctrl + Enter
Run tests to see results here.