퍼즐 공장의 컨베이어 벨트 위에 색 블록이 한 줄로 놓여 있습니다.
블록의 색은 R(빨강), G(초록), B(파랑), Y(노랑) 네 가지이며,
벨트의 상태는 이 네 글자로 이루어진 문자열 blocks 로 주어집니다.
같은 색 블록 두 개가 서로 인접하면 그 두 개는 함께 터져 사라집니다.
블록이 사라지면 빈자리가 없어지도록 양옆의 블록이 붙으면서 새로 인접해지고,
그 결과 다시 같은 색 쌍이 생기면 또 터집니다.
더 이상 터질 쌍이 없을 때까지 이 과정을 반복했을 때 벨트에 남는 블록 문자열을 반환하세요.
모든 블록이 사라지면 빈 문자열 "" 을 반환합니다.
어떤 쌍을 먼저 터뜨리든 최종적으로 남는 문자열은 항상 같습니다.
solution(blocks: string): string| blocks | 반환값 | 설명 |
|---|---|---|
"RRGB" |
"GB" |
RR 이 터지고 GB 가 남음 |
"RGGR" |
"" |
GG 가 터진 뒤 붙은 RR 도 터짐 |
"RGB" |
"RGB" |
인접한 같은 색이 없어 그대로 |
"BYYBRG" |
"RG" |
YY → BB 순으로 터지고 RG 만 남음 |
"BYYBRG" 의 진행 과정:
B[YY]BRG → [BB]RG → RGR, G, B, Y 네 문자로만 이루어져 있습니다시간 복잡도 목표: O(N)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.