Dazzling 개발 노트

[코드트리] 정수 명령 처리 5 (Java) 본문

Algorithm/코드트리

[코드트리] 정수 명령 처리 5 (Java)

dj._.dazzling 2023. 12. 21. 12:38

[코드트리] 정수 명령 처리 5 (Java)

문제

https://www.codetree.ai/missions/6/problems/process-numeric-commands-5?&utm_source=clipboard&utm_medium=text

풀이/후기

입력을 StringTokenizer로 받아서 token이 1개인지 2개인지 구별했다.

그 안에서 명령이 어떤 것인지, 수행할 값이 무엇인지 확인해 배열에 넣거나 값을 출력한다.

직접 코드를 보는 것이 이해가 더 빠를 것 같다.

코드

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        ArrayList arr = new ArrayList();

        int N = Integer.parseInt(br.readLine());
        StringTokenizer str;
        StringBuilder sb = new StringBuilder();

        while (N-->0){
            str = new StringTokenizer(br.readLine(), " ");

            int strLen = str.countTokens();

            if (strLen > 1){
                String str1 = str.nextToken();
                int str2 = Integer.parseInt(str.nextToken());

                if (str1.equals("push_back")){
                    arr.add(str2);
                } else {
                    sb.append(arr.get(str2-1)).append("\n");
                }
            } else {
                String str1 = str.nextToken();
                if (str1.equals("pop_back")){
                    arr.remove(arr.size()-1);

                } else if (str1.equals("size")){
                    sb.append(arr.size()).append("\n");
                }
            }
        }

        System.out.println(sb);
        
    }
}

Commit

https://github.com/allrightDJ0108/codetree-TILs/tree/main/231221/%EC%A0%95%EC%88%98%20%EB%AA%85%EB%A0%B9%20%EC%B2%98%EB%A6%AC%205

참고