Skip to content

Commit 9e8af43

Browse files
committed
issue #41 좌표압축
1 parent 988f877 commit 9e8af43

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

src/backjoon/_18870.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package backjoon;
2+
// https://www.acmicpc.net/problem/18870
3+
// 좌표 압축
4+
import java.io.BufferedReader;
5+
import java.io.IOException;
6+
import java.io.InputStreamReader;
7+
import java.util.Arrays;
8+
import java.util.HashMap;
9+
import java.util.Map;
10+
import java.util.StringTokenizer;
11+
12+
public class _18870 {
13+
public static void main(String[] args) throws IOException {
14+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
15+
// memory 359492 runtime 1696
16+
int N = Integer.parseInt(br.readLine());
17+
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
18+
int[] nums = new int[N];
19+
for (int i = 0; i < N; i++){
20+
nums[i] = Integer.parseInt(st.nextToken());
21+
}
22+
23+
// 정렬
24+
int[] sortNums = nums.clone();
25+
Arrays.sort(sortNums);
26+
27+
// 중복되지 않는 좌표값과 idx저장
28+
Map<Integer, Integer> map = new HashMap<>();
29+
int idx = 0;
30+
for(int n : sortNums){
31+
if(!map.containsKey(n)){
32+
map.put(n, idx++);
33+
}
34+
}
35+
36+
// 출력
37+
StringBuffer sb = new StringBuffer();
38+
for(int n : nums){
39+
sb.append(map.get(n)).append(" ");
40+
}
41+
System.out.println(sb);
42+
}
43+
}
44+
/*
45+
input
46+
5
47+
2 4 -10 4 -9
48+
49+
output
50+
2 3 0 3 1
51+
*/

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy