공부기록/백준

[백준] 1406번 에디터

메델 2024. 1. 14. 12:20
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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));

        String s = br.readLine();

        int n = s.length();
        int m = Integer.parseInt(br.readLine());

        LinkedList<Character> list = new LinkedList<>();
        ListIterator<Character> iterator = list.listIterator();

        for (int i = 0; i < n; i++) {
            iterator.add(s.charAt(i));
        }

        StringBuilder sb = new StringBuilder();

        while (m > 0) {
            String order = br.readLine();

            switch (order.charAt(0)) {
                case 'L':
                    if (iterator.hasPrevious()) {
                        iterator.previous();
                    }
                    break;

                case 'D':
                    if (iterator.hasNext()) {
                        iterator.next();
                    }
                    break;

                case 'B':
                    if (iterator.hasPrevious()) {
                        iterator.previous();
                        iterator.remove();
                    }
                    break;

                case 'P':
                    char c = order.charAt(2);
                    iterator.add(c);
                    break;
            }

            m--;
        }

        for (char c : list) {
            sb.append(c);
        }

        System.out.println(sb.toString());
    }
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 1789번 수들의 합  (1) 2024.01.15
[백준] 5648번 역원소 정렬  (1) 2024.01.15
[백준] 13300번 방 배정  (0) 2024.01.13
[백준] 13305번 주유소  (0) 2024.01.11
[백준] 1874번 스택 수열  (1) 2024.01.09