알고리즘 문제풀이
[백준/파이썬]18870번 좌표 압축
한백인데용
2023. 6. 6. 21:30
728x90
반응형
https://www.acmicpc.net/problem/18870
18870번: 좌표 압축
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌
www.acmicpc.net
정답
n = int(input())
num = list(map(int,input().split()))
num2 = list(set(num))
num2.sort()
num_dict = {}
for i in range(len(num2)) :
num_dict[num2[i]] = i
answer=[]
for i in num :
answer.append(str(num_dict[i]))
a = ' '.join(c for c in answer)
print(a)
그냥 생각 나는 대로 짜다 보니 너무 대충 짠 것 같다.
문제는 쉬웠다.
쉬운 문제를 어렵게 설명해둔 문제 같았다.
예시입력
2 4 -10 4 -9
문제는
2보다 작은 값 : -10, -9 (2개)
4보다 작은 값 : -10, -9, 2 (3개)
-10보다 작은 값 : 없음 (0개)
-9보다 작은 값 : -10 (1개)
{2 : 2, 2 : 4, -10 : 0, -9 : 1}
이렇게 딕셔너리로 저장 후
각 값을 key값으로 해서 value값을 출력해 주면 된다.
good
728x90
반응형