Home 프로그래머스 - 43238 입국심사
Post
Cancel

프로그래머스 - 43238 입국심사

문제

43238 입국심사

screencapture

풀이

  1. 입국 심사에 걸리는 시간은 1 ~ 가장 긴 심사 시간 * 입국심사를 기다리는 사람 수이다.
  2. 이 시간을 기준으로 이진 검색을 한다.

kotlin code

1
2
3
4
5
6
7
8
9
10
class Solution {
    fun solution(n: Int, times: IntArray): Long = solution(1L, times.maxOf { it } * n.toLong(), n, times)

    tailrec fun solution(min: Long, max: Long, n: Int, times: IntArray): Long {
        if(min > max) return min
        val mid = (min + max) / 2
        val count = times.sumOf { mid / it }
        return if(count < n) solution(mid + 1, max, n, times) else solution(min, mid - 1, n, times)
    }
}
This post is licensed under CC BY 4.0 by the author.

프로그래머스 - 42895 N으로 표현 풀이

프로그래머스 - 49189 가장 먼 노드