코드굽는 타자기

SWEA[1229] - 암호문2[D3] 본문

알고리즘/스택&큐

SWEA[1229] - 암호문2[D3]

bright-jun 2020. 2. 4. 09:47

링크

SWEA[1229]

문제설명

  • 하라는대로 함

문제풀이

  • 하라는대로 함, LinkedList사용

문제코드

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.StringTokenizer;

public class Solution1229 {
    public static void main(String args[]) throws Exception
    {
        System.setIn(new FileInputStream("res/swea/1229.txt"));

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T;
        T=10;

        for(int test_case = 1; test_case <= T; test_case++)
        {
            int N = Integer.parseInt(br.readLine().trim());
            LinkedList<String> list = new LinkedList<>();
            StringTokenizer st = new StringTokenizer(br.readLine()," ");
            for (int i = 0; i < N; i++) {
                list.offer(st.nextToken());
            }
            int O = Integer.parseInt(br.readLine().trim());
            st = new StringTokenizer(br.readLine()," ");
            int x = 0;
            int y = 0;
            int cnt=0;
            while (st.hasMoreTokens()) {
                if(st.nextToken().equals("I")) {
                    x = Integer.parseInt(st.nextToken());
                    y = Integer.parseInt(st.nextToken());
                    for (int i = 0; i < y; i++) {
                        list.add(x+i, st.nextToken());
                    }
                }
                else if(st.nextToken().equals("D")) {
                    x = Integer.parseInt(st.nextToken());
                    y = Integer.parseInt(st.nextToken());
                    for (int i = 0; i < y; i++) {
                        list.remove(x);
                    }
                }
            }
            System.out.print("#"+test_case+" ");
            for (int i = 0; i < 10; i++) {
                System.out.print(list.poll()+" ");
            }
            System.out.println();
        }
    }
}

아쉬운점

  • 더러움
    • 깔끔하게 바꿈
  • 명령어 비교할 때 st.nextToken() 새로 받아서 에러뜸

잘한점

  • Tokenizer 공부함

'알고리즘 > 스택&큐' 카테고리의 다른 글

SWEA[1228] - 암호문1[D3]  (0) 2020.02.03
SWEA[1225] - 암호생성기[D3]  (0) 2020.02.03
Jungol[1141] - 불쾌한 날(Bad Hair Day)  (0) 2020.02.03
SWEA[1218] - 타일 장식물[D4]  (0) 2020.01.31
Comments