Hikenny25

18870 - 좌표 압축 본문

baekjoon (solved.ac)/class 3 Solve

18870 - 좌표 압축

hikenny 2022. 10. 30. 00:02

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

 

18870번: 좌표 압축

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

www.acmicpc.net

 

- 정렬

- 구현

 

import sys
input = sys.stdin.readline

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

xl = list(set(x))
xl.sort()

d = dict()
for i in range(len(xl)):
    d[xl[i]] = i

for i in x:
    print(d[i], end=' ')

 

dict를 사용하니 쉽게 풀렸다

 

문제 해결 아이디어는

1. 중복 삭제 후 sort

2. dict에 저장

3. 출력

 

이 끝인 문제였다

 

 

'baekjoon (solved.ac) > class 3 Solve' 카테고리의 다른 글

1780 - 종이의 개수  (0) 2022.10.30
1074 - Z  (0) 2022.10.30
2630 - 색종이 만들기  (0) 2022.10.29
11724 - 연결 요소의 개수  (0) 2022.10.29
2667 - 단지번호붙이기  (0) 2022.10.28
Comments