[백준] 2493 - 탑


2493 - 탑

  • 문제 링크 :

사용 언어 : Java

아직 파이썬이 손에 많이 익어서 그런가..
자바 너무 불편해..!!!!

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		Deque<Integer> dq = new ArrayDeque<Integer>();
		Deque<Integer> dq_index = new ArrayDeque<Integer>();
		int N = Integer.parseInt(in.readLine());
		StringTokenizer st = new StringTokenizer(in.readLine());
		
		for(int i=0; i<N; i++) {
			int temp = Integer.parseInt(st.nextToken());
			if (i==0) {
				System.out.print("0 "); 
				dq_index.addLast(i+1);
				dq.addLast(temp);
			}
			else{
				if(dq.isEmpty()) {
					System.out.print("0 "); 
					dq.addLast(temp);
					dq_index.addLast(i+1);
				}
				else{
					while(true) {
						if(dq.peekLast() >= temp) break;
						dq.pollLast();
						dq_index.pollLast();
						if(dq.isEmpty()) {
							System.out.print("0 ");
							break;
						}
					}
					if(!dq.isEmpty()) System.out.print(dq_index.peekLast() + " ");
					dq.addLast(temp);
					dq_index.addLast(i+1);
				}
			}
		}
	}
}


© 2020. by bs-derek