From d4c37e186e92a9d1ffa869c00d05cd18af62c231 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Mon, 22 Dec 2025 23:53:13 +0900 Subject: [PATCH] =?UTF-8?q?[20251222]=20BOJ=20/=20G4=20/=20=EC=98=A4?= =?UTF-8?q?=ED=81=B0=EC=88=98=20/=20=EC=9D=B4=EC=9D=B8=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...J \354\230\244\355\201\260\354\210\230.md" | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 "LiiNi-coder/202512/22 BOJ \354\230\244\355\201\260\354\210\230.md" diff --git "a/LiiNi-coder/202512/22 BOJ \354\230\244\355\201\260\354\210\230.md" "b/LiiNi-coder/202512/22 BOJ \354\230\244\355\201\260\354\210\230.md" new file mode 100644 index 00000000..958788c0 --- /dev/null +++ "b/LiiNi-coder/202512/22 BOJ \354\230\244\355\201\260\354\210\230.md" @@ -0,0 +1,36 @@ +```java +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) + ); + int N = Integer.parseInt(br.readLine()); + StringTokenizer st = new StringTokenizer(br.readLine()); + int[] arr = new int[N]; + for(int i = 0; i < N; i++){ + arr[i] = Integer.parseInt(st.nextToken()); + } + int[] answer = new int[N]; + Arrays.fill(answer, -1); + Deque stack = new ArrayDeque<>(); + + for(int i = 0; i < N; i++){ + while(!stack.isEmpty() && arr[stack.peekLast()] < arr[i]){ + int index = stack.pollLast(); + answer[index] = arr[i]; + } + stack.offerLast(i); + } + StringBuilder sb = new StringBuilder(); + for(int v : answer){ + sb.append(v).append(" "); + } + + System.out.println(sb.toString()); + } +} + +```