본문 바로가기
알고리즘/JAVA

8. 이분검색

by vivi 2021. 9. 25.
import java.util.*;

class Main {
	public int solution(int N, int M, int[] arr) {
		int answer = 0;
		Arrays.sort(arr);
		int lt = 0, rt = N - 1, mid = (lt + rt) / 2;
		while (lt <= rt) {
			mid = (lt + rt) / 2;
			if (arr[mid] == M) {
				answer = mid + 1;
				break;
			} else if (arr[mid] > M) {
				rt = mid - 1;
			} else if (arr[mid] < M) {
				lt = mid + 1;
			}
		}
		return answer;
	}

	public static void main(String[] args) {
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int N = kb.nextInt();
		int K = kb.nextInt();
		int[] arr = new int[N];
		for (int i = 0; i < N; i++)
			arr[i] = kb.nextInt();
		System.out.print(T.solution(N, K, arr));
		kb.close();
	}
}

 

 

'알고리즘 > JAVA' 카테고리의 다른 글

10. 마구간 정하기(결정알고리즘)  (0) 2021.09.25
9. 뮤직비디오(결정알고리즘)  (0) 2021.09.25
7. 좌표 정렬  (0) 2021.09.25
6. 장난꾸러기  (0) 2021.09.25
5. 중복 확인  (0) 2021.09.25

댓글