Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

joyful

[Javascript] 공 던지기 - 프로그래머스 본문

프로그래머스

[Javascript] 공 던지기 - 프로그래머스

조이풀한 개발자 2024. 6. 12. 17:54

문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/120843

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

 

문제


 

 

 

 

풀이

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의 길이보다 크기 때문에 86(numbers의 길이)으로 나누면 나머지가 2이다.
    즉 2번째 index가 우리가 원하는 i값이다. (2번째 index 값은 3)
  • k번 돌 때의 i번째 index값이 우리가 원하는 답이기 때문에 cnt 변수를 사용해서 반복문을 도는 cnt 횟수가 k값이랑 일치할 때 i번째의 번호를 출력한다.