시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
버그로 가득한 프로그램을 잘 만드는 어떤 프로그래머가, 이번에는 반대로 버그를 찾아 주는 프로그램을 만들었다.
이 프로그램은 소스 코드를 입력으로 받아, 버그를 발견하면 그 부분을 주석 처리해 준다.
그런데 이 버그 검출 프로그램에도 버그가 있었다. 발견한 부분을 주석 처리하는 대신, 그 자리를 문자열 BUG 로 바꿔 버리는 것이다.
버그 검출 프로그램이 처리하고 난 소스 코드가 주어졌을 때, 코드에서 모든 BUG 를 없애는 프로그램을 작성하시오.
입력은 여러 줄의 소스 코드로 이루어져 있다. 이 소스 코드는 위에서 설명한 버그 검출 프로그램이 이미 처리한 상태이다. 각 줄의 길이는 100글자 이하이며, 입력은 파일의 끝(EOF)에서 끝난다. 줄의 개수에는 제한이 없다.
입력으로 주어진 소스 코드에서 모든 BUG 를 제거한 결과를 출력한다. 출력하는 소스 코드에는 BUG 가 하나도 남아 있으면 안 된다.
주의할 점은, BUG 를 지우고 나면 남은 글자들이 서로 붙으면서 새로운 BUG 가 생길 수 있다는 것이다. 이렇게 새로 생긴 BUG 도 모두 없애야 한다. 예를 들어 ABUBUGGB 는 가운데의 BUG 를 지우면 ABUGB 가 되고, 여기서 다시 BUG 를 지우면 최종적으로 AB 가 된다. 즉, 더 이상 BUG 가 남지 않을 때까지 계속 지워야 한다.
줄 구조는 그대로 유지한 채 각 줄에서 BUG 만 제거하며, 어떤 줄의 모든 글자가 지워지면 그 줄은 빈 줄로 남는다.