Red Glitter Pointer

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

👇 내가 제출한 코드

import java.util.*;

class Solution {
    public long solution(int n, int[] times) {
        long answer = 0;
        Arrays.sort(times); // 이분 탐색을 위해 정렬

        long left = 0;
        long right = (long) n * times[times.length - 1]; // 최악의 경우 고려
        
        while(left <= right) {
            long mid = (left + right) / 2;
            
            long sum = 0; // 심사한 인원
            for(int time : times) {
                sum += mid / time;
            }
            
            // n명 심사해야하는데 못했다면, 시간이 더 필요하기 때문에 left 옮겨줌
            if(sum < n) left = mid + 1;
            // n명 이상 했다면 시간을 줄여서 최적의 시간을 확인해보기
            else {
                right = mid - 1;
                answer = mid;
            }
        }
        return answer;
    }
}

 

 

+ Recent posts

loading