728x90
문제
https://www.acmicpc.net/problem/18870
18870번: 좌표 압축
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌
www.acmicpc.net
# 문제를 이해하기만 하면 쉬운 문제이다.
# Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다 라는 의미는 해당 Xi가 리스트에 몇번째인지 구하는 것이다.(0번째 부터시작)
# list.index로 할 경우 시간초과가 나기때문에 dictionary를 이용해주자
import sys
n = int(sys.stdin.readline())
n_list = list(map(int, sys.stdin.readline().split()))
n_sort = list(sorted(set(n_list))) # dic을 이용하기 전 정렬을 해주고 중복을 제거해준다.
dic = {n_sort[i]:i for i in range(len(n_sort))} # dic에 n_sort의 key에 0부터 value값을 지정해준다.
for j in n_list:
print(dic[j], end=" ") # n_list 값을 dic에 넣어줌으로써 순서를 출력해준다.
'알고리즘 > baekjoon' 카테고리의 다른 글
[알고리즘/baekjoon] 1697_숨바꼭질(python) (0) | 2021.11.25 |
---|---|
[알고리즘/baekjoon] 1927_최소 힙(python) (0) | 2021.11.25 |
[알고리즘/baekjoon] 11724_연결 요소의 개수(python) (0) | 2021.11.24 |
[알고리즘/baekjoon] 11279_최대 힙(python) (0) | 2021.11.24 |
[알고리즘/baekjoon] 11047_동전 0(python) (0) | 2021.11.24 |
댓글