문제
풀이
파일이 끝날 때까지 입력받고, 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);
}
}
}
'백준' 카테고리의 다른 글
백준 18870: 좌표 압축(java) (0) | 2024.09.03 |
---|---|
11659: 구간 합 구하기 4(java) (0) | 2024.09.02 |
백준 10816: 숫자 2(java) (0) | 2024.08.28 |
백준 31860: 열심히 일하는 중(java) (0) | 2024.08.25 |
백준 28107: 회전초밥(java) (0) | 2024.08.25 |