이진탐색 입국심사 [JAVA]

LeHoODU·2024년 4월 11일
0
post-thumbnail

이진탐색이란?

오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다.

처음 중간의 값을 임의의 값으로 선택하여, 그 값과 찾고자 하는 값의 크고 작음을 비교하는 방식을 채택하고 있다.

public static void main(String[] args) {
        int n = 6;
        int[] times = {7,10};

        int min = times[0];
        int max = n*times[times.length-1];
        int answer = 0;
        while(min <= max){
            int done = 0;
            int mid = (min + max) / 2;

            for (int i : times){
                cnt += mid/i;
            }

            if (cnt >= n){
                answer = mid;
                max = mid -1;
            }else{
                min = mid +1;
            }

        }
        System.out.println(answer);;
    }
profile
Back-End Developer

0개의 댓글