diff --git "a/\353\260\261\354\244\200/1_\354\236\220\353\243\214\352\265\254\354\241\260(\354\212\244\355\203\235)/5397/doyun5397" "b/\353\260\261\354\244\200/1_\354\236\220\353\243\214\352\265\254\354\241\260(\354\212\244\355\203\235)/5397/doyun5397" new file mode 100644 index 0000000..7dc9af3 --- /dev/null +++ "b/\353\260\261\354\244\200/1_\354\236\220\353\243\214\352\265\254\354\241\260(\354\212\244\355\203\235)/5397/doyun5397" @@ -0,0 +1,67 @@ +## 풀이 +커서를 기준으로 좌측 입력과 우측 입력을 제어할 스택 left, right를 생성. +**커서 이동 시 right으로 값을 이동 시 마지막 입력된 값이 가장 처음으로 입력되므로** +**right의 경우 반드시 선입선출 형태로 출력해야함에 주의한다.** + +#### 소스 +```java +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Stack; + +public class Matter5397 { + public static void main(String[] args) throws IOException { + // 사용자 입력 + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int cnt = Integer.parseInt(br.readLine()); + String[] cases = new String[cnt]; + + for(int k=0; k" : + if(!right.isEmpty()) { + left.push(right.pop()); + } + break; + case "-" : + if(!left.isEmpty()) + left.pop(); + break; + default : + left.push(c); + break; + } + } + + // 결과 출력 + while (!left.isEmpty()) { + right.push(left.pop()); + } + while (!right.isEmpty()) { + res.append(right.pop()); + } + System.out.println(res.toString()); + } + } +} +``` \ No newline at end of file