나의 풀이
function solution(numbers, k) {
const members = numbers;
let answer = 0;
let cnt = 0;
let idx = 0;
// cnt가 k와 같아질때 까지 while문을 돌린다.
while(cnt !== k) {
// while의 조건이 성립이 안되면 k만큼 돌린 members의 값이 answer에 할당된다.
answer = members[idx]
// idx를 2씩 올려준다.
idx += 2;
// idx가 members의 길이보다 같거나 커질때
// idx에서 memebers의 길이를 빼준 값을 다시 idx에 재할당한다.
if(idx >= members.length) {
idx = idx - members.length;
}
cnt++
}
return answer
}
남의 풀이
function solution(numbers, k) {
let idx = 0
// for문을 k보다 작게 돌려준다.
for(let i = 1; i < k; i++){
// idx를 2씩 증가시킨다.
idx += 2;
// 만약 numbers의 length보다 idx가 더 크다면
if(idx > numbers.length){
// numbers의 길이로 idx를 나눈 나머지값을idx에 재할당하여 반복작업한다.
idx %= numbers.length
}
}
return numbers[idx];
}