function solution(numbers, k) {
let ansIndex = 0;
for(let i = 0; i < k; i++){
ansIndex += 2;
if(ansIndex > numbers.length){
ansIndex -= numbers.length;
}
}
return numbers[ansIndex - 2];
}
인덱스가 2씩 증가하는 것을 활용한 풀이이다.
k
가 1 증가할 때마다 ansIndex
는 2씩 증가하는 것으로 그를 구현했다.
만약 ansIndex
가 numbers
배열의 길이보다 길어지면, numbers
의 길이만큼을 빼서 인덱스가 초과하는 것을 방지한다.
마지막까지 연산이 진행되면 ansIndex
는 공을 받는 사람을 가르킨다.
반환해야하는 것은 마지막으로 공을 던진 사람이므로, 2를 빼준 인덱스를 사용한다.