Files
Algorithm/백준/Silver/32292. ABB to BA (Easy)/README.md

16 KiB
Raw Blame History

[Silver V] ABB to BA (Easy) - 32292

문제 링크

성능 요약

메모리: 32412 KB, 시간: 56 ms

분류

브루트포스 알고리즘, 구현, 문자열

제출 일자

2025년 4월 8일 14:13:39

문제 설명

이 문제는 "ABB to BA"의 쉬운 버전입니다. 두 버전은 t와 n의 제한을 제외하고 동일합니다.

'A''B'만으로 이루어진 문자열 S가 주어집니다. 여러분은 다음 동작을 더 이상 수행할 수 없을 때까지 반복해야 합니다.

  • S에서 첫 번째로 부분 문자열 "ABB"가 등장한 위치를 i라고 할 때, 이 위치의 부분 문자열 "ABB"를 지우고 "BA"로 바꿉니다.
  • 다시 말해, SiSi+1Si+2"ABB"인 가장 작은 i를 찾아, Si와 Si+1을 각각 'B''A'로 바꾸고 Si+2를 S에서 지웁니다.
  • S"ABB"가 부분 문자열로 등장하지 않는다면 동작을 수행할 수 없습니다.

반복이 끝난 후 S의 내용을 출력하는 프로그램을 작성해 주세요.

입력

각 입력은 여러 개의 테스트 케이스로 구성됩니다. 첫 번째 줄에 테스트 케이스의 개수 t가 주어집니다. (1≤t≤300)

이후 테스트 케이스의 정보가 주어지며, 각 테스트 케이스의 입력은 다음과 같이 두 줄로 구성됩니다.

  • 첫 번째 줄에 S의 길이를 나타내는 정수 n이 주어집니다. (1≤n≤2⋅103)
  • 두 번째 줄에 길이 n의 문자열 S가 주어집니다. (Si는 모두 'A' 또는 'B')

모든 테스트 케이스에 대한 n의 합이 2⋅103을 초과하지 않습니다.

출력

각 테스트 케이스에 대해 반복이 끝난 후 S의 내용을 한 줄에 출력합니다.