Skip to content

Commit 6023488

Browse files
committed
[Silver II] Title: 좌표 압축, Time: 1076 ms, Memory: 303572 KB -BaekjoonHub
1 parent 85b4d2f commit 6023488

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# [Silver II] 좌표 압축 - 18870
2+
3+
[문제 링크](https://www.acmicpc.net/problem/18870)
4+
5+
### 성능 요약
6+
7+
메모리: 303572 KB, 시간: 1076 ms
8+
9+
### 분류
10+
11+
값 / 좌표 압축, 정렬
12+
13+
### 제출 일자
14+
15+
2025년 2월 19일 12:44:05
16+
17+
### 문제 설명
18+
19+
<p>수직선 위에 N개의 좌표 X<sub>1</sub>, X<sub>2</sub>, ..., X<sub>N</sub>이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.</p>
20+
21+
<p>X<sub>i</sub>를 좌표 압축한 결과 X'<sub>i</sub>의 값은 X<sub>i</sub> > X<sub>j</sub>를 만족하는 서로 다른 좌표 X<sub>j</sub>의 개수와 같아야 한다.</p>
22+
23+
<p>X<sub>1</sub>, X<sub>2</sub>, ..., X<sub>N</sub>에 좌표 압축을 적용한 결과 X'<sub>1</sub>, X'<sub>2</sub>, ..., X'<sub>N</sub>를 출력해보자.</p>
24+
25+
### 입력
26+
27+
<p>첫째 줄에 N이 주어진다.</p>
28+
29+
<p>둘째 줄에는 공백 한 칸으로 구분된 X<sub>1</sub>, X<sub>2</sub>, ..., X<sub>N</sub>이 주어진다.</p>
30+
31+
### 출력
32+
33+
<p>첫째 줄에 X'<sub>1</sub>, X'<sub>2</sub>, ..., X'<sub>N</sub>을 공백 한 칸으로 구분해서 출력한다.</p>
34+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
N = int(input())
2+
num = list(map(int, input().split()))
3+
nums = sorted(list(set(num)))
4+
5+
dic = {nums[i]: i for i in range(len(nums))}
6+
7+
for i in num:
8+
print(dic[i], end=" ")

0 commit comments

Comments
 (0)