머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
numbers k result [1, 2, 3, 4] 2 3 [1, 2, 3, 4, 5, 6] 5 3 [1, 2, 3] 3 2
function solution(numbers, k) {
let a = numbers.join("").repeat(Math.ceil(k/2))
return Number(a[k*2-2]);
}
function solution(numbers, k) {
let index = 0 ;
for(let i = 0; i < k; i++) {
index += 2; //인덱스가 2씩 늘어남
if ( index > numbers.length) {
index -= numbers.length; //배열의 길이보다 길때 인덱스- 배열의길이를 해준다.
}
} return numbers[index -2 ]; //던저준 사람이므로 인덱스 -2
}
function solution(numbers, k) {
return numbers[(k - 1) * 2 % numbers.length];
} //k번째 전의 사람이기 때문에 -1 해주고 2씩 늘어가니때문에 곱하기 2를 해주고, 길의로 나눈 나머지가 인덱스 값이 된다.