728x90
๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/138476#
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2.
์ข ๋ฅ ๊ฐฏ์๋ฅผ ์นด์ดํ ํ ๋ ์ ๊ฒฝ์จ์ผํ ๋ถ๋ถ(๊ฒฝ์ฐ)์ด ์ข ์๊ณ ,
sort๋ ์ ๊ฒฝ์จ์ค์ผ ํ๋ค ใ .....ใ
JS์ sort()๋ ๋ฌธ์์ด ๊ธฐ์ค์ด๊ธฐ ๋๋ฌธ์, ์ซ์๋ฅผ ์ ๋๋ก ๋น๊ตํ๊ณ ์ ๋ ฌํ๋ ค๋ฉด ๋ฐ๋์ ๋น๊ต ํจ์๋ฅผ ๋ฃ์ด์ค์ผ ํ๋ค!!!
๋์ ํ์ด
function solution(k, tangerine) {
var answer = 0;
let tmap = new Map();
tangerine.forEach((t)=>{
if(tmap.has(t)) tmap.set(t,tmap.get(t)+1);
else tmap.set(t,1);
})
let countList = [];
tmap.forEach((val, key)=>{
countList.push([val, key]);
})
countList.sort((a,b)=> b[0]-a[0]);
let toEnd = false;
for(let i=0; i<countList.length; ++i){
if(k-countList[i][0] < 0) break;
if(i===countList.length-1) toEnd = true;
k -= countList[i][0];
answer ++;
}
if(k>0 && !toEnd) answer ++;
return answer;
}
728x90
๋ฐ์ํ
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript/PGS] Lv.2 : ์์ ๋์งํ (1) | 2025.04.09 |
---|---|
[Javascript/PGS] Lv.2 : N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2025.04.08 |
[Javascript/PGS] Lv.2 : ์์ด ๋๋ง์๊ธฐ (0) | 2025.04.02 |
[Javascript/PGS] Lv.2 : ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ (0) | 2025.04.01 |
[Javascript/PGS] Lv.2 : ์ ํ์ ์๊ฐ ์ด๋ (0) | 2025.03.31 |