반응형
https://www.acmicpc.net/problem/18870
18870번: 좌표 압축
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌
www.acmicpc.net
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int cnt=0;
int N = sc. nextInt();
int[] point = new int[N];
int[] sorted = new int[N];
for(int i=0; i<N;i++) {
point[i]=sorted[i]=sc.nextInt();
}
Arrays.sort(sorted);
HashMap<Integer, Integer> hmap = new HashMap<>();
for(int i = 0 ; i < sorted.length ; i++) {
if(!hmap.containsKey(sorted[i]))
hmap.put(sorted[i], cnt++);
}
for(int i = 0; i < N ; i++) {
sb.append(hmap.get(point[i])).append(" ");
}
System.out.println(sb.toString());
}// main()
}// class Main
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 2630 : 색종이 만들기 _자바 Java (0) | 2023.01.30 |
---|---|
백준 11725 : 트리의 부모 찾기 _자바 Java (0) | 2023.01.29 |
백준 6603 : 로또 _자바 Java (0) | 2023.01.28 |
백준 1182 : 부분수열의 합 _자바 Java (0) | 2023.01.28 |
백준 10799 : 쇠막대기 _자바 Java (0) | 2023.01.28 |
댓글