BOJ_S2_18870
π [S2_18870] μ’ν μμΆ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class Main {
static StringTokenizer st;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// μ κ°μ
int N = Integer.parseInt(br.readLine());
// μ«μ μ μ₯ λ°°μ΄
int[] arr = new int[N];
// μ«μ μ λ ¬ λ°°μ΄
int[] sort = new int[N];
// μ«μ λ£κΈ°
Map<Integer,Integer> map = new HashMap<Integer, Integer>();
st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<N; i++){
arr[i] = Integer.parseInt(st.nextToken());
sort[i] = arr[i];
}
// μ λ ¬
Arrays.sort(sort);
int index = 0;
// μμ μ«μ λ£μ΄μ£ΌκΈ°
for(int i=0; i<N; i++){
// λ§μ½ map μμ κ°μ΄ μλ€λ©΄ ( μλ‘μ΄ κ° )
if(!map.containsKey(sort[i])){
map.put(sort[i], index);
index++;
}
}
// κ° λ£μ΄μ£ΌκΈ°
for(int i =0; i<N; i++){
sb.append(map.get(arr[i])).append(" ");
}
System.out.println(sb);
}
}
π€ λμ μκ°
μ²μμ λ¬Έμ λ§ λ³΄κ³ μ’ν μμΆμ΄ λκ° νλ€..
κ·Έλμ μμ λ₯Ό λ³΄κ³ λΆμν΄λ³Έ κ²°κ³Ό λ§μ΄ μ’ν μμΆμ΄μ§ μ λ ¬μ ν΄μ μμλ₯Ό μΆλ ₯νλ κ²μ΄μλ€.
μ΄λ»κ² ν κΉ κ³ λ―Όνλ€κ° mapμ μ¬μ©νμ¬ keyκ°μλ λ°°μ΄κ°μ value κ°μλ μμλ₯Ό λ£κΈ°λ‘ νμλ€.
λκ°μ λ°°μ΄μ κ°μ κ°μ μ
λ ₯μ λ°μ λ€ νλμ λ°°μ΄μ μ λ ¬μ μμΌ map μ λ£λλ‘ νμλ€.
mapμ λ°°μ΄ κ°μ΄ μμΌλ©΄ λ£μ΄μ£Όκ³ indexλ₯Ό 1μ© μΆκ°ν΄μ μμλ₯Ό μ
λ ₯μμΌμ£Όμλ€.
λ€ μ
λ ₯ λ°μ λ€ λ€λ₯Έ νλμ λ°°μ΄μ μλ κ°κ³Ό λΉκ΅λ₯Ό νμ¬ μμλ₯Ό μΆλ ₯ν΄μ£Όμλ€.
λ¬Έμ λ₯Ό μ΄ν΄νκ³ λλ λΉκ΅μ μ΄λ ΅μ§ μμ λ¬Έμ μλ€. class3 λ !!
μ΄μ class 4λ‘ κ°λ€ !