- 병사관리..
내일 문제 풀려면 미리 풀어놔야 하는데
집에 오느라 에너지를 너무 다 써버렸다..
내일 아침에 일찍 일어나서 해야지 ! !
이진 탐색
https://www.codetree.ai/missions/8/problems/find-number-fast?&utm_source=clipboard&utm_medium=text
import java.util.Scanner;
public class Main {
static int n, target, idx, left, right;
static int[] nums;
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
n = s.nextInt();
int m = s.nextInt();
nums = new int[n];
for (int i=0; i<n; i++){
nums[i] = s.nextInt();
}
for (int i=0; i<m; i++) {
target = s.nextInt();
idx = -1;
left = 0;
right = n-1;
binarySearch();
System.out.println(idx);
}
}
static void binarySearch() {
while (left <= right) {
int mid = (left + right) / 2;
if (nums[mid] == target) {
idx = mid + 1;
return;
}
if (nums[mid] > target) {
right = mid-1;
} else {
left = mid + 1;
}
}
return;
}
}
'해삐챠의 알고리즘 공부' 카테고리의 다른 글
(? 그냥 글 (0) | 2024.11.17 |
---|---|
6. 최소힙 최대힙 (0) | 2024.11.16 |
4. 그래프/tree (0) | 2024.11.09 |
2. 연결리스트 (0) | 2024.11.03 |
1. 비트마스킹 (2) | 2024.11.03 |