minyeamer
Minystory
minyeamer
edit settings
전체 방문자
오늘
어제
  • Category List (104)
    • Books (5)
      • Book Reviews (1)
      • Paper Reviews (4)
    • Life (4)
      • Blog (3)
      • Item Reviews (0)
      • Thoughts (1)
    • Study (37)
      • 2022 (3)
      • AI SCHOOL (34)
      • References (0)
    • Tech (58)
      • Algorithm (47)
      • Projects (9)
      • Python (2)

Blog Menu

  • Home
  • Notice
  • Tags
  • Guest

Popular Posts

Recent Comments

Recent Posts

hELLO
minyeamer

Minystory

Tech/Algorithm

[백준 18870] 좌표 압축 (Python)

2022. 8. 24. 10:36

문제 링크

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

 

18870번: 좌표 압축

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

www.acmicpc.net

문제 해설

Idea

  • Sort
  • 집합을 통해 압축한 unique한 좌표 목록을 정렬시키고,
    정렬된 리스트 내에서 좌표와 인덱스를 딕셔너리로 맵핑

Time Complexity

  • O(N Log N) = 13,000,000

Data Size

  • N: 1 <= int <= 1,000,000
  • X: -10^9 <= int <= 10^9

해설 코드

N = int(input())
X = list(map(int, input().split()))
xtoi = {x:i for i,x in enumerate(sorted(set(X)))}
print(' '.join(map(lambda x: str(xtoi[x]), X)))
저작자표시 (새창열림)

'Tech > Algorithm' 카테고리의 다른 글

[백준 7569] 토마토 (Python)  (0) 2022.08.25
[백준 7576] 토마토 (Python)  (0) 2022.08.24
[백준 1931] 회의실 배정 (Python)  (0) 2022.08.23
[백준 15686] 치킨 배달 (Python)  (0) 2022.08.23
[백준 1927] 최소 힙 (Python)  (0) 2022.08.22
    'Tech/Algorithm' 카테고리의 다른 글
    • [백준 7569] 토마토 (Python)
    • [백준 7576] 토마토 (Python)
    • [백준 1931] 회의실 배정 (Python)
    • [백준 15686] 치킨 배달 (Python)
    minyeamer
    minyeamer
    Better than Yesterday

    티스토리툴바