Programmers, 공 던지기
공 던지기
문제 설명
머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 < numbers의 길이 < 100
- 0 < k < 1,000
- numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.
- numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.
풀이
1 2 3 4 5 | const solution = (numbers, k) => { const passedLength = (k - 1) * 2; const index = passedLength % numbers.length; return numbers[index]; }; |
- 배열의 길이가 홀수, 짝수마다 거쳐갈 수 있는 사람이 달라서 하나의 식으로 풀이하면 예외가 있을거라고 생각했었다.
- numbers.length가 홀수, 짝수마다 나머지도 고정되기 때문에 하나의 식으로 풀이해도 모든 경우의 수를 검사할 수 있었다.