# 201748 1620
# 정렬 사용.
# 좌표 압축 -> 주어진 x들의 값을 오름차순으로 정렬했을때의 인덱스값.
# 같은 숫자가 있을 수 있으니 셋으로 정리
n = int(input())
numbers = list(map(int, input().split()))
sort_nums = sorted(set(numbers))
dict = {sort_nums[i] : i for i in range(len(sort_nums))} # key : numbers의 각 값, value : 오름차순 정렬시 각 값의 인덱스
for j in range(len(numbers)):
numbers[j] = dict[numbers[j]]
print(' '.join(map(str, numbers)))
https://www.acmicpc.net/problem/18870
18870번: 좌표 압축
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에
www.acmicpc.net
'study > Algorithm' 카테고리의 다른 글
[백준] 파이썬 2470번: 두 용액 (1) | 2024.04.05 |
---|---|
[백준] 파이썬 3079번: 입국심사 (0) | 2024.04.05 |
[백준] 파이썬 2805 : 나무 자르기 (0) | 2024.04.05 |
[백준] 파이썬 11399 : ATM (0) | 2024.04.05 |
[백준] 파이썬 1715 : 카드 정렬하기 (0) | 2024.04.04 |