문제 풀이 및 개발 공간

[백준] 2346번 풍선 터뜨리기 (silver 3 본문

백준공부/java

[백준] 2346번 풍선 터뜨리기 (silver 3

gomduri43 2023. 9. 5. 19:42

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        Deque<Integer> que= new ArrayDeque<>();
        int n=Integer.parseInt(br.readLine());
        for(int i=1; i<=n; i++){
            que.offer(i);
        }

        int[] num=new int[n+1];
        StringTokenizer st=new StringTokenizer(br.readLine());
        for(int i=1; i<=n; i++){
            num[i]=Integer.parseInt(st.nextToken());
        }

        int temp=num[1];
        bw.write(que.poll()+" ");
        while(!que.isEmpty()){
            if(temp>0){
                for(int i=0; i<temp-1; i++) {
                    que.addLast(que.pollFirst());
                }
                temp=num[que.peekFirst()];
                bw.write(que.poll()+" ");
            }
            else{
              for(int i=0; i<Math.abs(temp)-1; i++){
                  que.addFirst(que.pollLast());
              }
                temp=num[que.peekLast()];
                bw.write(que.pollLast()+" ");
            }
        }
        bw.flush();
    }
}