본문 바로가기
  • Let's study
PS/Programmers

[프로그래머스 Lv.0] 공 던지기(Java)

by 코딩고수이고파 2026. 7. 26.

문제

https://school.programmers.co.kr/learn/courses/30/lessons/120843

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

풀이

공은 한 번 던질 때마다 한 사람을 건너뛰고 다음 사람에게 전달된다. 따라서 현재 위치에서 2칸씩 이동한다고 생각하면 된다.

처음 공을 가진 사람은 첫 번째 사람이므로, k번째로 공을 받는 사람은 총 k - 1번 이동하게 된다. 따라서 이동해야 하는 칸 수는 (k - 1) * 2가 된다.

배열의 끝에 도달하면 다시 처음으로 돌아와야 하므로 나머지 연산(%)을 이용해 인덱스를 계산한다.

int answer = numbers[2 * (k - 1) % numbers.length];

코드

class Solution {
    public int solution(int[] numbers, int k) {
        int answer = numbers[2*(k-1)%numbers.length];
        
        return answer;
    }
}

댓글