AI 공부 도전기

[Baekjoon] 18870번 : 좌표 압축 (Python, 정렬)

 

     

 

 

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

 

18870번: 좌표 압축

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

www.acmicpc.net

 

코드 링크

https://github.com/stellaluminary/Baekjoon

 

GitHub - stellaluminary/Baekjoon

Contribute to stellaluminary/Baekjoon development by creating an account on GitHub.

github.com

 

Python

 

시간 초과 - 방법 1 -  코드 길이 185B

 

 

import sys
input = sys.stdin.readline

n = int(input())
l = list(map(int, input().split()))
s = sorted(set(l))
ans = []
for i in range(len(l)):
    ans.append(s.index(l[i]))
print(*ans)

 

방법 2 - 메모리 148188KB / 시간 2460ms / 코드 길이 183B

 

import sys
input = sys.stdin.readline

n = int(input())
l = list(map(int, input().split()))
s = sorted(set(l))
d = {s[i]:i for i in range(len(s))}
for i in l:
    print(d[i], end=' ')

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading