diff --git "a/03do-new30/202507/17 BOJ G4 \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.md" "b/03do-new30/202507/17 BOJ G4 \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.md" new file mode 100644 index 00000000..e48a1d7c --- /dev/null +++ "b/03do-new30/202507/17 BOJ G4 \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.md" @@ -0,0 +1,41 @@ +```java +import java.util.*; +import java.io.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + String str = br.readLine(); + String target = br.readLine(); + int n = str.length(); + int m = target.length(); + Deque deque = new ArrayDeque<>(); + + for (int i = 0; i < n; i++) { + deque.offerFirst(str.charAt(i)); + int idx = m-1; + Deque tmp = new ArrayDeque<>(); + while (!deque.isEmpty() && idx >= 0 && deque.peekFirst() == target.charAt(idx)) { + tmp.offerFirst(deque.pollFirst()); + idx--; + } + if (tmp.size() != m) { + while(!tmp.isEmpty()) { + deque.offerFirst(tmp.pollFirst()); + } + } + } + + if (deque.isEmpty()) { + System.out.println("FRULA"); + } else { + StringBuilder sb = new StringBuilder(); + while (!deque.isEmpty()) { + sb.append(deque.pollLast()); + } + System.out.println(sb); + } + br.close(); + } +} +```