From 650c92dde72f6483d1f210ade2699fb7eabf4a2b Mon Sep 17 00:00:00 2001 From: doyun Date: Sun, 12 Feb 2023 23:24:23 +0900 Subject: [PATCH] =?UTF-8?q?=EC=8A=A4=ED=83=9D=205397=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../5397/doyun5397" | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 "\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" 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