-
[백준 18870] 좌표 압축Algorithm/Source Code 2021. 11. 2. 21:16반응형
문제
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.
Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다.
X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자.
입력
첫째 줄에 N이 주어진다.
둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다.
출력
첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다.
solution.py
import sys n = int(sys.stdin.readline()) arr = list(map(int, input().split())) arr2 = list(sorted(set(arr))) dic = {arr2[i]: i for i in range(len(arr2))} for i in arr: print(dic[i], end=" ")
출처
https://www.acmicpc.net/problem/18870
반응형'Algorithm > Source Code' 카테고리의 다른 글
[백준 11286] 절댓값 힙 (0) 2021.11.03 [백준 1431] 시리얼 번호 (0) 2021.11.02 [백준 2447] 별 찍기 - 10 (0) 2021.10.31 [백준 1914] 하노이 탑 (0) 2021.10.31 [백준 11652] 카드 (0) 2021.10.25