-
[백준] 1406 에디터 #JAVAAlgorithm Solving/BAEKJOON 2021. 1. 24. 21:51
BAEKJOON [1406] 에디터
코드
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.LinkedList; import java.util.ListIterator; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String input = br.readLine(); LinkedList<Character> list = new LinkedList<Character>(); //리스트에 입력값 넣기 for (int i = 0; i < input.length(); i++) { list.add(input.charAt(i)); } //라운드 int round = Integer.parseInt(br.readLine()); ListIterator<Character> liter = list.listIterator(); while (liter.hasNext()) {//커서이동 liter.next(); } for (int i = 0; i < round; i++) { String commend = br.readLine(); char cmd = commend.charAt(0); if('L'== cmd) { if(liter.hasPrevious()) liter.previous(); }else if('D'==cmd) { if(liter.hasNext()) liter.next(); }else if('B'==cmd) { if(liter.hasPrevious()) { liter.previous(); liter.remove(); } }else if('P'==cmd) { liter.add(commend.charAt(2)); } } for (char c : list) { bw.append(c); } bw.flush(); bw.close(); } }
풀이
- LinkedList 사용
- [JAVA] LinkedList를 접근 제어하는 ListLiterator
잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)
'Algorithm Solving > BAEKJOON' 카테고리의 다른 글
[백준] 1158 요세푸스 #JAVA (0) 2021.01.29 [해커랭크] 2D Array - DS #JAVA (0) 2021.01.27 [백준] 18258 큐2 #JAVA (0) 2021.01.24 [백준] 3273 두 수의 합 #JAVA (0) 2021.01.16 [백준] 1919 애너그램 만들기 #JAVA (0) 2021.01.15