๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[Javascript/PGS] Lv.2 : ๊ทค ๊ณ ๋ฅด๊ธฐ

by xxilliant 2025. 4. 7.
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
๋ฐ˜์‘ํ˜•