๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์˜ˆ์‚ฐ

by ์ฝ”ํŒŒ์นด 2022. 12. 4.
728x90

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์˜ˆ์‚ฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > Summer/Winter Coding(~2018) > ์˜ˆ์‚ฐ


๐Ÿ’ฉ ๋ฌธ์ œ ์„ค๋ช…

S์‚ฌ์—์„œ๋Š” ๊ฐ ๋ถ€์„œ์— ํ•„์š”ํ•œ ๋ฌผํ’ˆ์„ ์ง€์›ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ๋ถ€์„œ๋ณ„๋กœ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธˆ์•ก์„ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ „์ฒด ์˜ˆ์‚ฐ์ด ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ถ€์„œ์˜ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋ถ€์„œ์˜ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ๋•Œ๋Š” ๊ฐ ๋ถ€์„œ๊ฐ€ ์‹ ์ฒญํ•œ ๊ธˆ์•ก๋งŒํผ์„ ๋ชจ๋‘ ์ง€์›ํ•ด ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1,000์›์„ ์‹ ์ฒญํ•œ ๋ถ€์„œ์—๋Š” ์ •ํ™•ํžˆ 1,000์›์„ ์ง€์›ํ•ด์•ผ ํ•˜๋ฉฐ, 1,000์›๋ณด๋‹ค ์ ์€ ๊ธˆ์•ก์„ ์ง€์›ํ•ด ์ค„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.
๋ถ€์„œ๋ณ„๋กœ ์‹ ์ฒญํ•œ ๊ธˆ์•ก์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด d์™€ ์˜ˆ์‚ฐ budget์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ๋Œ€ ๋ช‡ ๊ฐœ์˜ ๋ถ€์„œ์— ๋ฌผํ’ˆ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿ’ฉ ์ œํ•œ ์กฐ๊ฑด

โ˜๏ธ d๋Š” ๋ถ€์„œ๋ณ„๋กœ ์‹ ์ฒญํ•œ ๊ธˆ์•ก์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์ด๋ฉฐ, ๊ธธ์ด(์ „์ฒด ๋ถ€์„œ์˜ ๊ฐœ์ˆ˜)๋Š” 1 ์ด์ƒ 100 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
โœŒ d์˜ ๊ฐ ์›์†Œ๋Š” ๋ถ€์„œ๋ณ„๋กœ ์‹ ์ฒญํ•œ ๊ธˆ์•ก์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๋ถ€์„œ๋ณ„ ์‹ ์ฒญ ๊ธˆ์•ก์€ 1 ์ด์ƒ 100,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
๐Ÿ‘Œ budget์€ ์˜ˆ์‚ฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, 1 ์ด์ƒ 10,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

๐Ÿ’ฉ ๋ฌธ์ œ ํ’€์ด

function solution(d, budget) {
    d.sort((a, b) => a - b);
    for(i=0; i<d.length; i++){
        if(budget < d[i]) { break; }
        budget -= d[i];
    }
    return i;
}

์‹ ์ฒญ ๊ธˆ์•ก์„ ์ž‘์€ ์ˆœ์„œ๋กœ ๋จผ์ € ์ •๋ ฌํ•ด์ฃผ๊ณ , for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธˆ์•ก์„ ํ•˜๋‚˜์”ฉ ์˜ˆ์‚ฐ์—์„œ ๋นผ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฉ ๋‹ค๋ฅธ ํ’€์ด

function solution(d, budget) {
    d.sort((a, b) => a - b);
    while (d.reduce((a, b) => (a + b), 0) > budget) d.pop();
    return d.length;
}

๋‹ค๋ฅธ ํ’€์ด๋“ค์ด ๋‹ค ํœ˜ํ™ฉ์ฐฌ๋ž€ํ•ด์„œ ์ œ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ’€์ด๊ฐ€ ์ด๊ฒƒ ๋ฐ–์— ์—†๋„ค์š”... ์˜ˆ์‚ฐ์„ ๋„˜์ง€ ์•Š๋Š” ํ•œ๊นŒ์ง€ d ๋‚ด์˜ ๋ชจ๋“  ์›์†Œ๋“ค์„ ๋”ํ•ด์ฃผ๊ณ , ์˜ˆ์‚ฐ์„ ๋„˜์œผ๋ฉด ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์ตœ์ข…์ ์ธ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

728x90

๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ™

CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘