[백준] 18870번 좌표 압축 (python)

마뇽미뇽·2025년 7월 12일
0

알고리즘 문제풀이

목록 보기
147/165

1. 문제


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

2. 풀이

인덱스를 출력하는 문제로 딕셔너리를 통해 값과 인덱스를 맵핑해서 출력했다.

3. 코드

최종코드

import sys

n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
temp = sorted(set(arr))

dic = {temp[i] : i for i in range(len(temp))}

for i in arr:
      print(dic[i], end=" ")

처음 시도(시간 초과)

import sys

n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
temp = sorted(set(arr))

for i in arr:
      if i in temp:
            print(temp.index(i),end=' ')
            

두번째 시도(시간 초과)

import sys

n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
temp = sorted(set(arr))

ans = []
for i in range(len(arr)):
      for j in range(len(temp)):
            if arr[i] == temp[j]:
                  ans.append(j)
print(*ans)

세번째 시도(시간 초과)

import sys

n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
temp = sorted(set(arr))

for i in range(len(arr)):
      for j in range(len(temp)):
            if arr[i] == temp[j]:
                  print(j,end=' ')
profile
Que sera, sera

0개의 댓글