๋ฌธ์ ๋งํฌ
Maximum Units on a Truck - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
boxTypes์๋ [๋ฐ์ค ๊ฐฏ์, ๋ฐ์ค๋น ๋ด์ ์ ์๋ ๋ฌผ๊ฑด์ ์]๊ฐ ๋ค์ด์๊ณ
truckSize์๋ ์ต๋ ์ค์ ์ ์๋ ๋ฐ์ค์ ๊ฐฏ์๊ฐ ์ฃผ์ด์ง๋ค.
์ด๋ ํธ๋ญ์ ๋ด์ ์ ์๋ ์ต๋ ๋ฌผ๊ฑด์ ์๋ฅผ ๊ตฌํ๋ผ๋ ๋ฌธ์ ์ด๋ค.
์ ๊ทผ ๋ฐฉ๋ฒ
์ต๋ ์ค์ ์ ์๋ ๋ฌผ๊ฑด์ "๋ฐ์ค ๋น ๋ด์ ์ ์๋ ๋ฌผ๊ฑด์ ์"๊ฐ ๊ฐ์ฅ ๋ง์ ๋ฐ์ค๋ค์ ์ฐ์ ์ผ๋ก ๋ด๋ ๊ฒ ์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ๋ฐ์ค์ ๋ฌผ๊ฑด์ ์๊ฐ ๋ง์ ์์ผ๋ก ๋ด๋ฆผ์ฐจ ์์ผ๋ก ์ ๋ ฌํ๋ค.
boxTypes.sort((a,b) => b[1] - a[1])โ
๊ทธ๋ฆฌ๊ณ ํ์ฌ ํธ๋ญ์ ๋ค์ด์๋ ๋ฐ์ค์ ์๋ฅผ ์๋ฏธํ๋ boxCnt ๋ณ์๋ฅผ ์์ฑํ์ฌ
1. ํ์ฌ ํธ๋ญ์ ๋ฐ์ค + ์์ผ๋ก ๋ค์ด๊ฐ ๋ฐ์ค < ํธ๋ญ์ ์ค์ ์ ์๋ ๋ฐ์ค ์
2. ํ์ฌ ํธ๋ญ์ ๋ฐ์ค + ์์ผ๋ก ๋ค์ด๊ฐ ๋ฐ์ค >= ํธ๋ญ์ ์ค์ ์ ์๋ ๋ฐ์ค ์
๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋ง๋ค์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
if((boxCnt + box) < truckSize){ output += box * items; boxCnt += box; }else{ output += (truckSize - boxCnt) * items; boxCnt += (truckSize - boxCnt); return false; }โ
์ฃผ์์ฌํญ
forEach๋ฌธ์ break๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๋๋ฌธ์ ์ ์ฌํ ๋ฐฉ๋ฒ์ผ๋ก return false;๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
/**
* @param {number[][]} boxTypes
* @param {number} truckSize
* @return {number}
*/
var maximumUnits = function(boxTypes, truckSize) {
let output = 0;
let boxCnt = 0;
boxTypes.sort((a,b) => b[1] - a[1])
boxTypes.forEach(boxType => {
let [box, items] = boxType;
if((boxCnt + box) < truckSize){
output += box * items;
boxCnt += box;
}else{
output += (truckSize - boxCnt) * items;
boxCnt += (truckSize - boxCnt);
return false;
}
})
return output;
};
'์ฝ๋ฉํ ์คํธ > LeetCode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LeetCode] Maximum Area Of A Piece Of Cake After Horizontal And Vertical Cuts (0) | 2022.07.02 |
---|---|
[LeetCode] Maximum Bags With Full Capacity Of Rocks (0) | 2022.07.02 |
[LeetCode] Minimum Deletions To Make Character Frequencies Unique (0) | 2022.06.28 |
[LeetCode]Maximum Points You Can Obtain From Cards (0) | 2022.06.26 |
[LeetCode] Non-decreasing Array (0) | 2022.06.25 |