Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฝ๋ผ๋ฌธ์ ๋ณธ๋ฌธ
๐ ๋ฌธ์
์ ๋ต์ ์๋ฌด์๊ฒ๋ ๋งํ์ง ๋ง์ธ์.
์ฝ๋ผ ๋น ๋ณ 2๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ์ฝ๋ผ 1๋ณ์ ์ฃผ๋ ๋งํธ๊ฐ ์๋ค. ๋น ๋ณ 20๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ๋ช ๋ณ์ ๋ฐ์ ์ ์๋๊ฐ?
๋จ, ๋ณด์ ์ค์ธ ๋น ๋ณ์ด 2๊ฐ ๋ฏธ๋ง์ด๋ฉด, ์ฝ๋ผ๋ฅผ ๋ฐ์ ์ ์๋ค.
๋ฌธ์ ๋ฅผ ์ด์ฌํ ํ๋ ์๋น์ด๋ ์ผ๋ฐํ๋ ์ฝ๋ผ ๋ฌธ์ ๋ฅผ ์๊ฐํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ๋น ๋ณ a๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ์ฝ๋ผ b๋ณ์ ์ฃผ๋ ๋งํธ๊ฐ ์์ ๋, ๋น ๋ณ n๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ๋ช ๋ณ์ ๋ฐ์ ์ ์๋์ง ๊ณ์ฐํ๋ ๋ฌธ์ ์ ๋๋ค. ๊ธฐ์กด ์ฝ๋ผ ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ณด์ ์ค์ธ ๋น ๋ณ์ด a๊ฐ ๋ฏธ๋ง์ด๋ฉด, ์ถ๊ฐ์ ์ผ๋ก ๋น ๋ณ์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋น์ด๋ ์ด์ฌํ ๊ณ ์ฌํ์ง๋ง, ์ผ๋ฐํ๋ ์ฝ๋ผ ๋ฌธ์ ์ ๋ต์ ์ฐพ์ ์ ์์์ต๋๋ค. ์๋น์ด๋ฅผ ๋์, ์ผ๋ฐํ๋ ์ฝ๋ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ์ฃผ์ธ์.
์ฝ๋ผ๋ฅผ ๋ฐ๊ธฐ ์ํด ๋งํธ์ ์ฃผ์ด์ผ ํ๋ ๋ณ ์ a, ๋น ๋ณ a๊ฐ๋ฅผ ๊ฐ์ ธ๋ค ์ฃผ๋ฉด ๋งํธ๊ฐ ์ฃผ๋ ์ฝ๋ผ ๋ณ ์ b, ์๋น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ๋น ๋ณ์ ๊ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์๋น์ด๊ฐ ๋ฐ์ ์ ์๋ ์ฝ๋ผ์ ๋ณ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
โ๏ธ ํ์ด
function solution(a, b, n) {
var answer = 0;
let remainder = 0;
let remainderSum = 0;
while(n >= a){
remainder = Math.floor(n % a);
if(remainder !== 0){
remainderSum += remainder;
}
n = Math.floor(n / a) * b;
answer += n;
}
if(n < a && remainderSum > 0){
while(remainderSum + n >= a){
n = Math.floor((n + remainderSum) / a) * b;
answer += n;
remainderSum = Math.floor((n + remainderSum) % a);
}
}
return answer;
}
โฐ ์ฒ์์ ์ด๋ ๊ฒ ๊ตฌํํ๋๋ฐ 3๊ฐ์ ํ ์คํธ์ผ์ด์ค๊ฐ ํต๊ณผ๊ฐ ์๋ฌ๋ค.
ํ ์คํธ์ผ์ด์ค๋ ๋ณผ ์ ์์ผ๋ ์ด๋๊ฐ ์๋ชป ๋์ง ์ฐพ๊ธฐ๊ฐ ๋๋ฌด ํ๋ค๋คใ ใ ..
๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ์ฐพ์๋ณด๋๊น ๋ค๋ค ๋ฐ์ ์ฝ๋์ฒ๋ผ ๊ฐ๋จํ๊ฒ ํ์๋๋ผ.
ํ์ด ๋ฐฉ๋ฒ์ ๋๋ ๊ฐ์๋ฐ ์ฝ๋๋ก ์ง๋ ๋ถ๋ถ์์ ๋๋ ๋ณต์กํ๊ฒ ์ง๊ฒ ๋๋ ๊ฑฐ ๊ฐ๋ค..
์ด์งธ์๐ฅน
function solution(a, b, n) {
let receive = 0; // ๋ฐ์ ๋ณ์ ์
while(n >= a){
receive += Math.floor(n / a) * b; // ๋น ๋ณ์ ์ฃผ๊ณ ๋ฐ์ ๋ณ์ ์๋ฅผ ๊ณ์ ๋ํด์ค๋ค.
n = Math.floor(n / a) * b + (n % a); // n์ ๋ฐ์ ๋ณ์ ์ + ๋จ์ ๋ณ์ ์
}
return receive;
}
โฐ ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ ํ ์ ์๋ ๋ฐฉ๋ฒ ๊ฐ์ ๊ฒ ์๋..๋ ๋นผ๊ณ ๋ค ์ ํธ๋ ๊ฑฐ ๊ฐ์ .......
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ฐพ๊ธฐ (์๋ผํ ์คํ ๋ค์ค์ ์ฒด ์๊ณ ๋ฆฌ์ฆ) (0) | 2023.01.25 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด (0) | 2023.01.20 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํฐ์ผ๋ชฌ (0) | 2023.01.19 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - 2016๋ (0) | 2023.01.19 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ผ์ด์ฌ (์กฐํฉ ํ์ด๊ณผ์ ) (0) | 2023.01.18 |