https://school.programmers.co.kr/learn/courses/30/lessons/72412
이진 탐색
- 정렬된 배열에서 원하는 값을 빠르게 찾는 검색 알고리즘
- 배열을 반으로 나누어 가며 원하는 값을 찾기 때문에, 시간복잡도가 O(log n)으로 매우 빠르다.
public int binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
문제 풀이
https://yurison.tistory.com/346
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
57일차 - 코테, 스프링부트 프로젝트 참고 사항 (0) | 2023.05.12 |
---|---|
56일차 - 알고리즘(DFS/BFS) (0) | 2023.05.11 |
54일차 - stream 정렬 (0) | 2023.05.10 |
53일차 - 국제화 (0) | 2023.05.08 |
52일차 - JPA Repository 메서드 명명 규칙 (0) | 2023.05.04 |