0. 문제 링크
https://www.acmicpc.net/problem/18870
1. 풀이 방법
- 중복 제거를 위하여 세트로 정렬한다.
- 각 번호의 인덱스가 압축된 좌표의 번호가 된다.
- 그대로 출력하면 끝
2. 코드
import sys
input = sys.stdin.readline
if __name__ == "__main__":
n = int(input())
maps = list(map(int, input().split()))
new_maps = sorted(set(maps))
d = dict()
for idx, item in enumerate(new_maps):
d[item] = idx
for i in maps:
print(d[i], end=' ')
3. 마무리
간단한 문제
'Computer Science > 알고리즘' 카테고리의 다른 글
[백준 - Python] 11049 - 행렬 곱셈 순서 (2) | 2023.05.13 |
---|---|
[백준 - Python] 22945 - 팀 빌딩 (1) | 2023.05.12 |
[백준 - Python] 2193 - 이친수 (1) | 2023.05.10 |
[백준 - Python] 20366 - 같이 눈사람 만들래? (0) | 2023.05.09 |
[백준 - Python] 7662 - 이중 우선순위 큐 (0) | 2023.05.09 |