중괄호 배열을 각 단어와 중괄호가 한 줄에 하나씩 오고 중첩 단계마다 공백 두 칸으로 들여쓰도록 다시 출력합니다.
쉬움3스택시뮬레이션면접 대비아직 제출이 없습니다시간 제한1초메모리 제한64 MB어떤 프로그래밍 언어에서 배열은 다음과 같이 정의한다.
{와 닫는 중괄호 }로 나타낸다.{}, {a,b,c}, {abc,znj,{novi,niz},pozz}가 있다.이 언어는 중괄호나 쉼표의 앞뒤에 공백과 줄바꿈을 알맞게 넣지 않아도 오류를 내지 않는다. 값이 이렇게 빽빽하게 붙어 있는 모양이 눈에 거슬려서, 배열을 다음 규칙에 맞게 다시 쓰기로 했다.
} 앞에서 내용의 들여쓰기가 2칸 줄어든다.첫째 줄에 문제에서 설명한 배열 S가 주어진다. 1≤∣S∣≤1500이고, S는 영어 소문자와 중괄호, 쉼표로만 이루어져 있으며 언제나 올바르게 정의한 배열이다.
모양을 바꾼 배열을 출력한다.
입력이 {a,b,{c,d},e,{}}인 경우를 따라가 보자. 처음에는 들여쓰기가 없으므로 0이다. 첫 여는 중괄호를 쓴 뒤 줄을 바꾸고 들여쓰기를 2칸 늘린다.
이어서 단어 a와 바로 뒤의 쉼표를 쓰고 줄을 바꾼 다음, 같은 2칸 들여쓰기를 적용한다. 단어 b도 같은 방법으로 쓴다.
세 번째 값은 새로운 배열이다. 이 배열을 X라고 하자. X는 여는 중괄호로 시작하므로 줄을 바꾸고 들여쓰기를 2칸 늘린다. 들여쓰기는 이제 모두 4칸이다. 이 들여쓰기로 단어 c와 d를 각각 한 줄에 쓴다. d는 X의 마지막 값이므로 뒤에 쉼표가 없다.
X의 끝을 나타내는 닫는 중괄호를 쓰기 전에 들여쓰기를 2칸 줄인다. 그 중괄호 뒤에는 쉼표를 쓰고 줄을 바꾼 다음, 바깥 배열의 남은 값을 이어서 쓴다.