[백준] 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);
}
}
}
}
}
