Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- APPENDING
- NEW-PAGE PRINT ON
- DP - 무한배낭
- ABAP
- DP - 유한배낭
- READ TABLE
- SAP GUI
- Data Browser
- changing value
- SAP
- cfieldname
- Union-Find
- 필드카탈로그
- qfieldname
- FOR ALL ENTRIES IN
- java
- MONAT_F4
- using value
- APPENDING CORRESPONDING
- DP - 무한배낭(순서)
- SM36
- Dictionary Search Help
- transporting
- boole_d
- batch job
- ZPL
- 날짜 계산 함수
- ALV Output Setting
- CTS #CTS 이관 #SAP #ABAP
- BOJ_Gold
Archives
- Today
- Total
Jin's Library
[Gold Ⅳ] 9935 - 문자열 폭발 본문
package BOJ.Gold;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
// 골드 4 문자열 폭발
// Stack
public class BOJ_9935 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] line = br.readLine().toCharArray();
ArrayList<Character> word = new ArrayList<>();
for(char x : br.readLine().toCharArray()) word.add(x);
StringBuilder sb = new StringBuilder();
Stack<Character> stack = new Stack<>();
int idx = word.size()-1;
for(char x : line){
stack.push(x);
if(stack.size() >= word.size()){ // peek로 비교하면 index Error 발생
boolean flag = true;
for(int i=0; i<word.size();i++){
if(stack.get(stack.size()-word.size()+i) != word.get(i)){
flag = false;
break;
}
}
if(flag) while(idx-->=0){stack.pop();}
idx = word.size()-1;
}
}
for(char x : stack) sb.append(x);
System.out.println(stack.isEmpty() ? "FRULA" : sb);
}
}
// 시간초과...
// public class BOJ_9935 {
// public static void main(String[] args) throws Exception{
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// StringBuilder sb = new StringBuilder();
// char[] line = br.readLine().toCharArray();
// String word = br.readLine();
// System.out.println(word);
// for(char x : line){
// sb.append(x);
// if(sb.indexOf(word) > -1){
// System.out.println(sb + " word : "+word );
// sb.replace(sb.length()-word.length(), sb.length(), "");
// // sb.delete(sb.length()-1-word.length(), sb.length());
// }
// }
// if(sb.length() < 1) System.out.println("FRULA");
// else System.out.println(sb);
// }
// }
// 메모리 초과...
// public class BOJ_9935 {
// public static void main(String[] args) throws Exception{
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// char[] line = br.readLine().toCharArray();
// String answer = "";
// String word = br.readLine();
// for(char x : line){
// answer += x;
// if(answer.contains(word)){
// // System.out.println(word + " check "+answer );
// answer = answer.replace(word, "");
// }
// }
// if(answer.length() < 1) System.out.println("FRULA");
// else System.out.println(answer);
// }
// }
// containsAll 을 하게 되면 [a,a,a,a] 도 a 하나로 true가 된다. aaaa를 쳐내야 하는데 a로 인식하여 index Error
// public class BOJ_9935 {
// public static void main(String[] args) throws Exception{
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// char[] line = br.readLine().toCharArray();
// ArrayList<Character> word = new ArrayList<>();
// for(char x : br.readLine().toCharArray()) word.add(x);
// StringBuilder sb = new StringBuilder();
// Stack<Character> stack = new Stack<>();
// int idx = word.size()-1;
// for(char x : line){
// stack.push(x);
// if(stack.peek() == word.get(idx) && stack.containsAll(word)){
// // System.out.println(stack.containsAll(word)+ " word :" +word);
// // System.out.println("check " + stack);
// while(idx-->=0){stack.pop();}
// idx = word.size()-1;
// // System.out.println(stack);
// }
// }
// if(stack.isEmpty()) System.out.println("FRULA");
// else{
// for(char x : stack) sb.append(x);
// System.out.println(sb);
// }
// }
// }'Algorithm - Java > BOJ - Gold' 카테고리의 다른 글
| [Gold Ⅳ] 17298 - 오큰수 (0) | 2025.09.30 |
|---|---|
| [Gold Ⅳ] 16120 - PPAP (0) | 2025.09.29 |
| [Gold Ⅴ] 7576 - 토마토 (0) | 2025.09.29 |
| [Gold Ⅴ] 7569 - 토마토 (0) | 2025.09.29 |
| [Gold Ⅴ] 5430 - AC (0) | 2025.09.29 |