프로그래머스 Lv3 입국심사 Kotlin
문제
풀이방법
-
이전에 풀다가 만 문제였는데 아무리 생각해도 이게 이분탐색이라는 생각이 떠오르지가 않아 힌트를 보았다.
-
시간을 기준으로 해당 시간내에 모두 검사가 가능한지 판단하고 시간에 대해 이분탐색을 적용하는 방식이었다.
-
코테에 나왔으면 이분탐색 절대 생각 못했다
코드
class Solution {
fun solution(n: Int, times: IntArray): Long {
var min = 0L
var max = times.maxOrNull()!!.toLong()*n.toLong()
while(min<=max){
val mid = (min + max)/2
var sum = 0L
times.forEach{
sum += mid/it
}
if(sum<n){
min = mid+1
}
else{
max = mid -1
}
}
return max+1
}
}
Author And Source
이 문제에 관하여(프로그래머스 Lv3 입국심사 Kotlin), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jihoon97/프로그래머스-Lv3-입국심사-Kotlin저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)