๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[Level 1] 1์ฃผ์ฐจ_๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 9. 29.

 

 

Algorithm

-  1์ฃผ์ฐจ_๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ -

 


 

๋ฌธ์ œ

์ƒˆ๋กœ์ƒ๊ธด ๋†€์ด๊ธฐ๊ตฌ๋Š” ์ธ๊ธฐ๊ฐ€ ๋งค์šฐ ๋งŽ์•„ ์ค„์ด ๋Š์ด์งˆ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋†€์ด๊ธฐ๊ตฌ์˜ ์›๋ž˜ ์ด์šฉ๋ฃŒ๋Š” price์› ์ธ๋ฐ, ๋†€์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒˆ ์งธ ์ด์šฉํ•œ๋‹ค๋ฉด ์›๋ž˜ ์ด์šฉ๋ฃŒ์˜ N๋ฐฐ๋ฅผ ๋ฐ›๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ฒ˜์Œ ์ด์šฉ๋ฃŒ๊ฐ€ 100์ด์—ˆ๋‹ค๋ฉด 2๋ฒˆ์งธ์—๋Š” 200, 3๋ฒˆ์งธ์—๋Š” 300์œผ๋กœ ์š”๊ธˆ์ด ์ธ์ƒ๋ฉ๋‹ˆ๋‹ค.

 

๋†€์ด๊ธฐ๋ฃจ๋ฅผ count๋ฒˆ ํƒ€๊ฒŒ ๋˜๋ฉด ํ˜„์žฌ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธˆ์•ก์—์„œ ์–ผ๋งˆ๊ฐ€ ๋ชจ์ž๋ผ๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”.

 

๋‹จ, ๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ return ํ•˜์„ธ์š”.

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

price money count result
3 20 4 10

 

๋ฌธ์ œ ํ’€๊ธฐ

function solution(price, money, count) {
    let baseMoney = price;
    let saveMoney = 0;
    for(let i = 1; i <= count; i++) {
        saveMoney += (baseMoney * i);
    }
    if(saveMoney > money) return saveMoney - money;
    else return 0;
}

 

๊ฐ„๋งŒ์— ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ดˆ๋ฐ˜์— ์•ฝ๊ฐ„์€ ๋ฒ„๋ฒ…์˜€์ง€๋งŒ ๊ทธ๋ž˜๋„ Level1์ธ ๋งŒํผ ๊ธฐ๋ถ„์ข‹๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

์ผ๋‹จ์€ ๋‚ด๊ฐ€ ์ฒ˜์Œ์— ๋‚ธ ์ž…์žฅ๋ฃŒ price๊ฐ€ ๋†€์ด๊ธฐ๊ตฌ๋ฅผ ํƒ„ ํšŸ์ˆ˜๋งŒํผ n๋ฐฐ ์ƒ์Šนํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ์š”๊ธˆ price๋ฅผ baseMoney์•ˆ์—๋‹ค๊ฐ€ ๋„ฃ์–ด์ค€ ๋’ค ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค์„œ ๋ฐ˜๋ณต๋ฌธ์ด ๋Œ์•„๊ฐ„๋งŒํผ baseMoney์— ๋ฐ˜๋ณต๋ฌธ์ด ๋Œ์•„๊ฐ„ ํšŸ์ˆ˜๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉฐ, ๊ณฑํ•ด์ค€ ๊ฐ’์„ saveMoney์•ˆ์—๋‹ค๊ฐ€ ๊ณ„์† ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋‚ด๊ฐ€ ๊ธฐ์กด์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ˆ money๋ณด๋‹ค ๋†€์ด๊ธฐ๊ตฌ๋ฅผ ์ด์šฉํ•œ ์ „์ฒด์š”๊ธˆ saveMoney์˜ ๊ฐ’์ด ํด ๊ฒฝ์šฐ ์ฐจ์•ก์„ ๋ฆฌํ„ดํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ์—” 0์„ ๋ฆฌํ„ดํ•ด ํ•จ์ˆ˜๋ฅผ ์™„์„ฑ์‹œํ‚ค๋ฉด ๋œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€