https://www.acmicpc.net/problem/18870
18870번: 좌표 압축
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌
www.acmicpc.net
문제
수직선 위에 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을 공백 한 칸으로 구분해서 출력한다.
실패 (시간 초과)
import sys
input = sys.stdin.readline
N = int(input())
L = list(map(int, input().split()))
L_ = list(sorted(set(L)))
for l in L:
print(str(L_.index(l), end=' ')
딕셔너리에 index를 삽입 후 해결
import sys
input = sys.stdin.readline
N = int(input())
L = list(map(int, input().split()))
L_ = list(sorted(set(L)))
D = {L_[i]: i for i in range(len(L_))}
for l in L:
print(D[l], end=' ')
'Coding Test > 백준' 카테고리의 다른 글
[백준] / [Python] / [10870] 피보나치 수 5 (0) | 2022.11.11 |
---|---|
[백준] / [Python] / [10872] 팩토리얼 (0) | 2022.11.11 |
[백준] / [Python] / [10814] 나이순 정렬 (0) | 2022.11.10 |
[백준] / [Python] / [1181] 단어 정렬 (0) | 2022.11.10 |
[백준] / [Python] / [11651] 좌표 정렬하기 2 (0) | 2022.11.10 |