ffinn92 / Keep-at-solve-it

κΎΈμ€€νžˆ μ•Œκ³ λ¦¬μ¦˜ ν’€κΈ° μœ„ν•œ μŠ€ν„°λ”” μ €μž₯μ†Œμž…λ‹ˆλ‹€.
2 stars 3 forks source link

[220725][BC][μΈν”„λŸ°](6-4) Least Recently Used #106

Closed honeySleepr closed 2 years ago

honeySleepr commented 2 years ago

πŸ“Œ 문제

⭐️ 아이디어

πŸ€” κ³ λ―Όν•œ λ‚΄μš©

πŸ’ͺ μƒˆλ‘­κ²Œ 배운 λ‚΄μš©

πŸ†˜ 이해가 μ–΄λ €μš΄ λ‚΄μš©

❌ ν•΄κ²°ν•˜μ§€ λͺ»ν•œ 이유

βœ… 본인 풀이

image

public class P0604 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] split1 = br.readLine().split("\\s");
        int s = Integer.parseInt(split1[0]);
        int n = Integer.parseInt(split1[1]);
        String[] split2 = br.readLine().split("\\s");
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = Integer.parseInt(split2[i]);
        }

        int[] answer = new int[s];

        for (int i = 0; i < n; i++) {
            int point = s - 1;

            for (int j = 0; j < s; j++) {
                if (answer[j] == 0) {
                    point = j;
                    break;
                }
                if (arr[i] == answer[j]) {
                    point = j;
                    break;
                }
            }
            for (int j = point; j > 0; j--) {
                answer[j] = answer[j - 1];
            }
            answer[0] = arr[i];
        }

        for (int i : answer) {
            System.out.print(i + " ");
        }
    }
}
        Deque<Integer> stack = new ArrayDeque<>();

        for (int i : arr) {
            stack.remove(i);
            stack.push(i);
        }

        for (int i = 0; i < s; i++) {
            System.out.print(stack.pop() + " ");
        }

μ°Έκ³ ν•œ 자료