코딩테스트

[python] 백준 18870 번 : 좌표 압축 (실버 2)

Alpaca_data_cloud 2024. 7. 16. 10:09

https://www.acmicpc.net/problem/18870

좌표 압축이란 말을 이해하기 힘들어서 검색해 보았다. 검색한 결과는 다음과 같았다.

좌표 압축은 주어진 좌표들의 상대적 순위를 기반으로 새로운 값을 할당하는 것입니다. 각 좌표의 압축된 값은 해당 좌표보다 작은 서로 다른 좌표의 개수와 같아야 합니다.

n = int(input())
arr = list(map(int,input().split()))
dic = dict()
arr2 = arr[:]
arr2.sort()
count = 0
for i in arr2:
    if i not in dic:
        dic[i] = count
        count += 1

for i in arr:
    print(dic[i],end=' ')

입력

5
2 4 -10 4 -9

------------------------

출력

2 3 0 3 1