728x90
๋ฐ์ํ
๐ 06 - ๊ณต์ฃผ ๊ตฌํ๊ธฐ(ํ)
ํ(queue) ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ์ดํดํ๊ณ ์๋ค๋ฉด ๊ฐ๋จํ ํ ์ ์๋ ๋ฌธ์ ์ด๋ค.
ํ์ด ๋ฐฉ๋ฒ
- while ๋ฌธ์ ์ด์ฉํด ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
- for ๋ฌธ์ ์ด์ฉํด k - 1๋ฒ ๋๋ฉฐ shift()๋ฅผ ํ ํ ๋ฐฐ์ด์ ์๋ฃ๋ฅผ ๋ค์ ๋ฃ์ด์ค๋ค.
- k๋ฒ์งธ ์๋ฃ์ ๊ฒฝ์ฐ ์ ์ธ๋์ด์ผ ํ๋ฏ๋ก shift()๋ฅผ ํ๋ค.
๐ ํ์ด
function solution(n, k) {
let answer;
let queue = Array.from({ length: n }, (v, i) => i + 1);
while (queue.length !== 1) {
for (let i = 1; i < k; i++) {
queue.push(queue.shift());
}
queue.shift();
}
answer = queue[0];
return answer;
}
console.log(solution(8, 3));
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/section 7] 01 - ์ ํ ์ ๋ ฌ (0) | 2022.09.29 |
---|---|
[JavaScript/section 6] 07 - ๊ต์ก๊ณผ์ ์ค๊ณ (0) | 2022.09.28 |
[JavaScript/section 6] 05 - ์ ๋ง๋๊ธฐ (0) | 2022.09.27 |
[JavaScript/section 6] 04 - ํ์์ ์ฐ์ฐ(postfix) (0) | 2022.09.26 |
[JavaScript/section 6] 03 - ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ(์นด์นด์ค ๊ธฐ์ถ) (0) | 2022.09.25 |