joyful
[Javascript] 공 던지기 - 프로그래머스 본문
문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/120843
문제
풀이
function solution(numbers, k) { //[1, 2, 3, 4, 5, 6], 5
let cnt = 1;
for (let i = 0; i += 2) {
console.log(i); // 0 2 4 6 8 (나머지 연산자 적용되면 0 2 4 6 2)
i %= numbers.length;
const item = numbers[i];
if (cnt === k) {
return item;
}
cnt += 1;
}
}
- 한 명을 건너뛰고 그 다음 사람에게 던져야 하니 i가 두 칸씩 커지도록 반복문을 돌린다.
- i가 numbers의 길이보다 커졌을 때 앞 index로 돌아오도록 나머지 연산자를 사용한다.
예)
i가 8일 때 numbers의 길이보다 크기 때문에 8을 6(numbers의 길이)으로 나누면 나머지가 2이다.
즉 2번째 index가 우리가 원하는 i값이다. (2번째 index 값은 3) - k번 돌 때의 i번째 index값이 우리가 원하는 답이기 때문에 cnt 변수를 사용해서 반복문을 도는 cnt 횟수가 k값이랑 일치할 때 i번째의 번호를 출력한다.
'프로그래머스' 카테고리의 다른 글
[Javascript] 주사위의 개수 - 프로그래머스 (0) | 2024.06.14 |
---|---|
[Javascript] 배열 회전시키기 - 프로그래머스 (2) | 2024.06.13 |
[Javascript] 2차원으로 만들기 - 프로그래머스 (0) | 2024.05.17 |
[Javascript] 점의 위치 구하기 - 프로그래머스 (0) | 2024.04.19 |
[Javascript] 가위 바위 보 - 프로그래머스 (0) | 2024.04.19 |