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์ ๋ฆฌํดํด ํจ์๋ฅผ ์์ฑ์ํค๋ฉด ๋๋ค.
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][Node.js] 2845๋ฒ : ํํฐ๊ฐ ๋๋๊ณ ๋ ๋ค (0) | 2021.10.01 |
---|---|
[๋ฐฑ์ค][Node.js] 2839๋ฒ : ์คํ ๋ฐฐ๋ฌ (0) | 2021.09.30 |
[Level 1] ์๋ ์ซ์ ๋ํ๊ธฐ (0) | 2021.09.28 |
[Level 1] 2์ฃผ์ฐจ_์ํธํ๊ฐ (0) | 2021.09.27 |
[๋ฐฑ์ค][Node.js] 2789๋ฒ : ์ ํ ๊ธ์ง (0) | 2021.09.25 |
๋๊ธ