빈 문서의 시작 위치에 커서가 있어요. 소문자를 입력하면 커서 바로 앞에 넣고 커서는 넣은 문자 뒤로 이동해요. <는 왼쪽 한 칸, >는 오른쪽 한 칸으로 커서를 옮겨요. -는 커서 바로 왼쪽 문자 하나를 삭제해요. 해당 이동이나 삭제가 불가능하면 변화가 없어요.
string solution(string commands)가 모든 명령 뒤 문서를 반환하도록 두 빈칸을 채워 주세요. 길이는 0200, 문자는 az, <, >, -만 사용해요. 빈 명령의 결과는 빈 문자열이고 최종 커서 위치는 반환하지 않아요.
예시 1: commands = "abc<<x>y" → "axbyc". a 뒤로 옮겨 x를 넣고, b 뒤로 옮겨 y를 넣어요.
예시 2: commands = "ab<-c" → "cb". a와 b 사이로 옮긴 뒤 a를 지우고 c를 넣어요.
실행 입력은 명령 전체 한 줄이에요. 빈 문자열은 빈 줄로 전달해요. main은 결과 문서를 한 줄에 출력하는 하네스예요.
예시 입력
abc<<x>y
예상 결과
axbyc
예시 입력
ab<-c
예상 결과
cb
핵심 개념
string-parsing: 문자 종류와 현재 해석 상태를 연결해요.stack-queue: 가장 최근 상태와 먼저 들어온 상태를 구분해요.stl-string: 원본 문자열의 인덱스와 문자 순서를 읽어요.