import java.util.*;

class Solution {
public int solution(int[] numbers, int k) {

    // 큐 생성
    Queue<Integer> queue = new LinkedList<>();
    for (int i : numbers) {
        queue.offer(i); // 배열에 있는 참가자 큐에 넣기
    }
    
    int count = 0;
    
    // 큐의 크기가 1보다 클 동안 반복
    while (queue.size() > 1) {
        
        // count 던지는 순서 카운트
        count++;
        
        // count 변수가 k와 같을 경우 반복문 탈출
        if (count == k) {
            break;
        }
        
        // 큐에서 두 명의 사람을 poll() 메소드로 제거하고 
        // person1과 person2 변수에 저장
        int person1 = queue.poll();
        int person2 = queue.poll();
        
        // count 변수가 k의 배수가 아닌 경우 큐에 다시 추가
        if (count % k != 0) {
            queue.offer(person1);
            queue.offer(person2);
        }
    }
    
    // k번째 던질 사람
    return queue.poll();
}
profile
I'm still hungry.

0개의 댓글