[BOJ]圧縮18870号座標(Python)


解析問題から見ると,重複を解消した後,並べ替えられたリストから各数値に対応するインデックスを出力する問題である.インデックスを検索するたびにインデックスをdictionaryで保存する代わりに.
import sys
input = sys.stdin.readline

N = int(input())
arr = list(map(int,input().split()))

idx_dict = dict()
for i,num in enumerate(sorted(list(set(arr)))):
  idx_dict[num]=i


new_idx_arr = [idx_dict[x] for x in arr]
print(*new_idx_arr)