<ํ๋ฆฐ ๋ฐฉ๋ฒ>
function solution(numbers, k) {
let number = 2 * k - 1;
number = number > numbers.length ? number % numbers.length : number;
console.log(number);
return number;
}
์ฒ์์ ์ซ์ ์์ฒด๋ฅผ ๊ตฌํ๋ฉด ๋ ๊ฒ ๊ฐ์ ์ด๋ ๊ฒ ์ฝ๋์ ์งฐ๋ค.
๊ทผ๋ฐ ๋ฌธ์ ์ ์ถ ์ 20, 22 ์ผ์ด์ค์์ ํต๊ณผ๊ฐ ์๋จ.
๊ทธ๋์
ํ๋์ฉ ๋๋ ค๋ดค๋ค.
k === 5 ์ธ ๊ฒฝ์ฐ, 3์ด ๋์์ผํ๋๋ฐ 0์ด ๋์ด.
=> ๋๋จธ์ง ๊ฐ์ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ 0์ด ๋์ฌ ์๋ ์๋ค.
๊ทธ๋ผ ์ซ์ ๋ง๊ณ index ๋ฅผ ์ด์ฉํด์ผ๊ฒ ๋ค ์๊ฐํจ.
๊ทผ๋ฐ numbers ์ length ๋ณด๋ค index ๋ ์์ ์๊ฐ ๋ค์ด์๋ ๋๋จธ์ง ๊ตฌํ๋ฉด ๋๊ฐ์ด ๋์ค๋๋ฐ?
๋ผ๋ ์๊ฐ์ด ๋ค์ด numbers.length ๋ณด๋ค ํด ๋ ๋๋๋ค๋ ์กฐ๊ฑด์ ์์ด๋ค.
<๋ง์ ๋ฐฉ๋ฒ>
function solution(numbers, k) {
let index = 2 * (k - 1) % numbers.length;
return numbers[index];
}
์ฒ์ ๋์ง๋๊ฑด ๋ฌด์กฐ๊ฑด 1๋ฒ์์ ์คํ๋๋, k-1 ์ ํด์ 1๋ฒ์ ์ ์ธํ ์ดํ์ index๋ฅผ ๊ตฌํ๋ค.
๋ฐฐ์ด์ ๊ธธ์ด๋ก ๋๋ ๋๋จธ์ง๋ ๊ธธ์ด ์ด๋ด์ ์ซ์๊ฐ ๋์จ๋ค.
๊ธธ์ด๊ฐ 4๋ผ๋ฉด -> index๋ 0, 1, 2, 3
index๋ฅผ ๊ตฌํ์ผ๋, numbers ์์ ํด๋น ๊ฐ์ return ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
์์ ์ ๋ณต์กํ๊ฒ ์๊ฐํ๋ค๊ฐ ๋๋ฌด ์ค๋๊ฑธ๋ ค์ ํ๋ฒ ํฌ๊ธฐํ์๋๋ฐ,
๊น๋ํ๊ฒ ํ์ด๋ด์ ๋ฟ๋ฏํ๋ค ๐ฅฐ