백준
백준 3477: 버그왕(java)
unhyepnhj
2024. 8. 31. 16:18
문제
풀이
파일이 끝날 때까지 입력받고, replaceAll()을 사용해 "BUG"를 ""으로 변경해 주면 되는데, 이상하게 계속 오류가 나던 문제이다.
이때 BUG가 더 이상 존재하지 않을 때까지 replaceAll() 작업을 계속해야 한다는 점에 주의해야 한다.
while((str=br.readLine())!=null) {
while(str.contains("BUG")) {
str=str.replaceAll("BUG", "");
}
문제에 주어진 "ABUBUGGB"의 경우, 첫 번째 replaceAll()로 BUG를 삭제(밑줄 친 부분)하면 " ABUGB"가 되어 다시 BUG 문자열이 생기므로, 이 경우 while문을 이용해 문자열에 BUG가 존재하지 않을 때까지 반복해야 한다.
전체 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb=new StringBuilder();
String str;
while((str=br.readLine())!=null) {
while(str.contains("BUG")) {
str=str.replaceAll("BUG", "");
}
System.out.println(str);
}
}
}