문제 링크
입국심사 : 링크
문제 풀이
- 입국심사를 진행하는 심사원들을 작업이 걸리는 시간을 기준으로 오름차순으로 정렬한다.
- 시간을 기준으로 이분탐색을 진행한다.
코드
package q43238
import (
"fmt"
"sort"
)
func binarySearch(n int, times []int) int64 {
sort.Ints(times)
left := 1
right := n * times[len(times)-1]
answer := 0
for left < right {
middle := ((left + right) / 2)
tmp := 0
for _, val := range times {
tmp += middle / val
}
if tmp < n {
left = middle + 1
} else if tmp >= n {
answer = middle
right = middle - 1
} else {
break
}
}
return int64(answer)
}
func solution(n int, times []int) int64 {
return binarySearch(n, times)
}
func Start() {
times := []int{7, 10}
fmt.Println(solution(6, times))
}
Go 1~2주 안썼다고 간단한것들이 기억이 안난다. Go를 통한 알고리즘 풀이 빈도를 늘려야지. Go...
'Study > Algorithm' 카테고리의 다른 글
[Algorithm]Programmers_월간코드챌린지_86052_빛의 경로 사이클_Go (0) | 2021.10.01 |
---|---|
[Algorithm]Programmers_12952_N-Queen_Go (0) | 2021.09.16 |
[Algorithm]Programmers_17678_셔틀버스_Java (0) | 2021.09.14 |
[Algorithm]Programmers_17683_방금그곡_Java (0) | 2021.09.03 |
[Algorithm]BOJ_20056_마법사 상어와 파이어볼_Go (0) | 2021.08.23 |