문제:
머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다.
공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다.
친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때,
k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
문제 풀어보기: https://school.programmers.co.kr/learn/courses/30/lessons/120843
풀이보기
더보기
function solution(numbers, k) {
let count = 1;
let i = 0;
while(count < k) {
count++;
i += 2;
if(i > numbers.length - 1) {
i %= numbers.length;
}
}
return i + 1;
}
while문을 이용해서 풀어주었다.
먼저 count가 k와 같아질 때까지 반복을 해주고, count는 1부터 시작한다.
그 후 1번이 던졌다고 치고 바로 count++을 해준 뒤, 한 번호를 건너뛰도록 i + 2를 해준다.
만약 i가 numbers의 길이보다 커진다면 i % numbers.length를 해줘서 다시 처음 인덱스로 돌아가도록 한다.
그럼 이제 알아서 k만큼 반복할 것이고 마지막으로 인덱스는 0부터 시작하니까 i + 1 해줘서 리턴해주면 된다.
'코딩 테스트' 카테고리의 다른 글
[프로그래머스 Level 0] 순서쌍의 개수 (0) | 2025.04.18 |
---|---|
[프로그래머스 Level 0] 무작위로 K개의 수 뽑기 (0) | 2025.04.17 |
[프로그래머스 Level 0] 연속된 수의 합 (0) | 2025.04.15 |
[프로그래머스 Level 0] 직사각형 넓이 구하기 (0) | 2025.04.15 |
[프로그래머스 Level 0] 삼각형의 완성조건(2) (0) | 2025.04.14 |