Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래밍
- 농은면접
- 이클립스
- HTML
- 프로그래밍언어
- 부스트코스
- 중소기업면접
- 후기
- 한국재정정보원
- 확인문제
- java
- 웹프로그래밍
- 수박수박수박수박수?
- 웹
- 웹개발
- 프로그래머스
- 알고리즘
- 코딩
- 정수내림차순으로배치하기
- 연결요소의개수
- CSS
- Linux
- 백준
- 필기
- BOJ
- 건보필기
- 인강
- algorithm
- 필기후기
- 공부
Archives
- Today
- Total
공부하는 히욤이
[BOJ] 1406. 에디터 본문
BaekJoon 1406. 에디터
* 문제의 저작권은 BOJ 및 문제를 만든 사람에게 있습니다.
[문제 접근]
처음에는 Stack을 쓰지 않고 ArrayList를 사용해서 커서 값을 저장하는 변수를 이용해서 풀었다.
이렇게 풀었더니 시간 초과가 나서 찾아보니 Stack을 사용해서 풀어야 한다고 했다.
Stack 2개를 사용해서 글자가 왼쪽에 있는 경우 lstack에
오른쪽으로 옮길 경우 rstakc에 추가하는 방법으로 해서 풀어줬더니 시간초과가 해결 됐다.
[코드]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main_1406 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
Stack<Character> lstack = new Stack<>();
Stack<Character> rstack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
lstack.push(s.charAt(i));
}
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String key = st.nextToken();
switch (key) {
case "P":
String ch = st.nextToken();
lstack.push(ch.charAt(0));
break;
case "D":
if (!rstack.isEmpty()) {
lstack.push(rstack.pop());
}
break;
case "B":
if (!lstack.isEmpty()) {
lstack.pop();
}
break;
case "L":
if (!lstack.isEmpty()) {
rstack.push(lstack.pop());
}
break;
}
}
while (!lstack.isEmpty()) {
rstack.push(lstack.pop());
}
while (!rstack.isEmpty()) {
System.out.print(rstack.pop());
}
}
}
'Algorithm > BaekJoon' 카테고리의 다른 글
[BOJ] 1158. 요세푸스 문제 (0) | 2020.02.08 |
---|---|
[BOJ] 10845. 큐 (0) | 2020.02.07 |
[BOJ] 1874. 스택 수열 (2) | 2020.02.07 |
[BOJ] 9093. 단어 뒤집기 (0) | 2020.02.06 |
[BOJ] 2455. 지능형 기차 (0) | 2019.12.15 |