2493号:タワー
質問する
2493号:タワー
に近づく
マイコード
import java.io.*;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static Stack<int[]> stack = new Stack<>();
public static void main(String[] args) throws IOException {
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 0; i < N; i++) {
int temp = Integer.parseInt(st.nextToken());
while (!stack.isEmpty()) {
if (stack.peek()[0] < temp) stack.pop();
else {
sb.append(stack.peek()[1] + " ");
break;
}
}
if (stack.isEmpty())
sb.append(0 + " ");
stack.push(new int[] {temp, i+1});
}
System.out.println(sb);
}
}
int
タイプの配列を入れ、パラメータは高さと番号です.peek()
メソッドを適切に使用します.「なぜフレームワークなのか」という過程を経て、私がわけのわからないところでその条件を読んでいないことに気づいたとき、私はすぐに答えを出しました.
Reference
この問題について(2493号:タワー), 我々は、より多くの情報をここで見つけました https://velog.io/@songs4805/BOJ2493번-탑テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol