반응형
1. 문제
https://leetcode.com/problems/koko-eating-bananas/
2. 코드
이진 탐색으로 문제 풀 때는 꼭 반올림, 내림 신경써주기!
/**
* @param {number[]} piles
* @param {number} h
* @return {number}
*/
var minEatingSpeed = function(piles, h) {
let low = 1, hi = Math.max(...piles);
while(low < hi){
let mid = Math.floor((low+hi)/2);
let sum = piles.reduce((acc,cur) => acc += Math.ceil(cur/mid),0);
if(sum <= h){
hi = mid;
}else{
low = mid + 1;
}
}
return low;
};
어제 문제랑 비슷해서 이진 탐색 문제인걸 대번에 알았지만, 그래도 내 손으로 처음 완성한 이진 탐색 코드... 뿌듯
반응형
'리트코드 > midium' 카테고리의 다른 글
[리트코드] 394. Decode String - js (0) | 2023.08.23 |
---|---|
[리트코드] 17. Letter Combinations of a Phone Number - js (DFS) (0) | 2023.08.21 |
[리트코드] 287. Find the Duplicate Number - js (0) | 2023.08.20 |
[리트코드] 1870. Minimum Speed to Arrive on Time - js (이진탐색) (0) | 2023.08.19 |
[리트코드] 75. Sort Colors - js (0) | 2023.08.18 |