ν•΄λ²„λ‹ˆ 2023. 12. 11. 17:11
λ°˜μ‘ν˜•

 

 

 

문제

https://www.acmicpc.net/problem/18115

 

18115번: μΉ΄λ“œ 놓기

μˆ˜ν˜„μ΄λŠ” μΉ΄λ“œ κΈ°μˆ μ„ μ—°μŠ΅ν•˜κ³  μžˆλ‹€. μˆ˜ν˜„μ΄μ˜ 손에 λ“€λ¦° μΉ΄λ“œλ₯Ό ν•˜λ‚˜μ”© 내렀놓아 λ°”λ‹₯에 μŒ“μœΌλ €κ³  ν•œλ‹€. μˆ˜ν˜„μ΄κ°€ μ“Έ 수 μžˆλŠ” κΈ°μˆ μ€ λ‹€μŒ 3가지닀. 제일 μœ„μ˜ μΉ΄λ“œ 1μž₯을 λ°”λ‹₯에 λ‚΄λ €λ†“λŠ”λ‹€.

www.acmicpc.net

 

 

 

 

 

 

 

 

 

풀이 

μ²˜μŒμ— ArrayListλ₯Ό μΌλŠ”λ° μ‹œκ°„ μ΄ˆκ³Όκ°€ 났닀

λ‹€μŒμ€ λ°°μ—΄ μˆœνšŒν•΄μ„œ ν’€μ—ˆλŠ”λ°λ„ μ‹œκ°„ 초과

λ‹€μŒμ€ index둜 μ ‘κ·Όν•˜λŠ” 걸둜 ν’€μ—ˆλ‹€. 

κ·Έλž¬λ”λ‹ˆ 톡과

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

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

        int N = Integer.parseInt(br.readLine());
        int[] list = new int[N];
        int[] input = new int[N];

        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
            input[i] = Integer.parseInt(st.nextToken());
        }

        int index1 = 0;
        int index2 = 1;
        int index3 = N - 1;

        for (int i = 0, j = N; i < N; i++, j--) {
            switch (input[i]) {
                case 1:
                    list[index1] = j;
                    index2++;
                    index1 = index2 - 1;
                    break;
                case 2:
                    list[index2] = j;
                    index2++;
                    break;
                case 3:
                    list[index3] = j;
                    index3--;
                    break;
            }
        }


        for (int i = 0; i < list.length; i++) {
            bw.write(String.valueOf(list[i]) + " ");
        }

        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

μ •λ‹΅ 

 

 

 

 

λ°˜μ‘ν˜•