From 3aff61ffd407a3b4a3bb8b071c0e11f41c18c047 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Sat, 13 Sep 2025 23:11:14 +0900 Subject: [PATCH] =?UTF-8?q?[20250913]=20BOJ=20/=20G5=20/=20AC=20/=20?= =?UTF-8?q?=EC=9D=B4=EC=9D=B8=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LiiNi-coder/202509/13 BOJ AC.md | 72 +++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 LiiNi-coder/202509/13 BOJ AC.md diff --git a/LiiNi-coder/202509/13 BOJ AC.md b/LiiNi-coder/202509/13 BOJ AC.md new file mode 100644 index 00000000..0f70814c --- /dev/null +++ b/LiiNi-coder/202509/13 BOJ AC.md @@ -0,0 +1,72 @@ +```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 { + private static BufferedReader br; + private static StringBuilder sb; + + public static void main(String[] args) throws IOException { + br = new BufferedReader(new InputStreamReader(System.in)); + sb = new StringBuilder(); + + int T = Integer.parseInt(br.readLine()); + + for (int t = 0; t < T; t++) { + String p = br.readLine(); + int n = Integer.parseInt(br.readLine()); + String arrStr = br.readLine(); + + Deque q = new ArrayDeque<>(); + if (n > 0) { + arrStr = arrStr.substring(1, arrStr.length() - 1); + StringTokenizer st = new StringTokenizer(arrStr, ","); + for (int i = 0; i < n; i++) { + q.addLast(Integer.parseInt(st.nextToken())); + } + } + + boolean reversed = false; + boolean error = false; + for (char c : p.toCharArray()) { + if (c == 'R') { + reversed = !reversed; + } else if (c == 'D') { + if (q.isEmpty()) { + sb.append("error\n"); + error = true; + break; + } + if (!reversed) q.pollFirst(); + else q.pollLast(); + } + } + + if (!error) { + sb.append("["); + if (!q.isEmpty()) { + if (!reversed) { + while (!q.isEmpty()) { + sb.append(q.pollFirst()); + if (!q.isEmpty()) sb.append(","); + } + } else { + while (!q.isEmpty()) { + sb.append(q.pollLast()); + if (!q.isEmpty()) sb.append(","); + } + } + } + sb.append("]\n"); + } + } + + System.out.print(sb.toString()); + } +} + +```