Leta Learns

[Python] 백준 18870번 - 좌표 압축 본문

Coding/백준

[Python] 백준 18870번 - 좌표 압축

leta 2022. 8. 17. 21:58

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

 

18870번: 좌표 압축

수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌

www.acmicpc.net

 

시간초과가 나서 다른 방법이 있는지 구글링했다.

중복 제거를 위해 set을 사용하고 그 후 딕셔너리를 사용하면 쉽게 풀리는 문제였다..

딕셔너리 연습을 해야 하나..

 

import sys
input = sys.stdin.readline

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

x2 = sorted(list(set(x)))
x_dic = {x2[i]: i for i in range(len(x2))}
for i in x:
    print(x_dic[i], end = ' ')

'Coding > 백준' 카테고리의 다른 글

[Python] 백준 1010번 - 다리 놓기  (0) 2022.08.20
[Python] 백준 1107번 - 리모컨  (0) 2022.08.18
[Python] 백준 2108번 - 통계학  (0) 2022.08.13
[Python] 백준 1149번 - RGB 거리  (0) 2022.08.12
[Python] 백준 10773번 - 제로  (0) 2022.08.10
Comments