문제

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


문제 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int[] origin = new int[n];
        Map<Integer, Integer> map = new HashMap<>();

        for (int i = 0; i < n; i++) {
            origin[i] = sc.nextInt();
        }

        int[] sorted = origin.clone();
        Arrays.sort(sorted);

        int cnt = 0;
        for (int v : sorted) {
            if (!map.containsKey(v)) {
                map.put(v, cnt);
                cnt++;
            }
        }

        StringBuilder sb = new StringBuilder();
        for (int key : origin) {
            int rank = map.get(key);
            sb.append(rank).append(' ');
        }
        System.out.println(sb);
    }
}

카테고리:

업데이트:

댓글남기기