[백준 18870] 좌표 압축

코뉴·2021년 8월 13일
0

백준🍳

목록 보기
51/149

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

🥚문제


🥚입력/출력


🍳코드

from sys import stdin
input = stdin.readline

n = int(input())
data = list(map(int, input().split()))

# 중복 제거
data_to_set = set(data)

# 정렬된 리스트의 인덱스를 이용한다
data_dict = dict()
# 중복이 제거되고, 오름차순으로 정렬된 data_idx 리스트
data_idx = sorted(list(data_to_set))
# data_idx 리스트를 순회하며 {값 : 인덱스}꼴로 data_dict에 삽입한다
for i in range(len(data_idx)):
    data_dict[data_idx[i]] = i

# 원래 입력으로 받았던 data를 순회하며
# data_idx[data[i]]를 출력하면 된다
for i in range(n):
    # 마지막 값
    if i == n-1:
        print(data_dict[data[i]])
    else:
        print(data_dict[data[i]], end=" ")

🧂아이디어

profile
코뉴의 도딩기록

0개의 댓글