https://www.acmicpc.net/problem/18870
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
[백준/파이썬]15649 N과 M(1) (0) | 2023.06.07 |
---|---|
[백준/파이썬]1874번 스택수열 (0) | 2023.06.07 |
[백준/파이썬]14719번 빗물 (0) | 2023.06.06 |
[백준/파이썬]1620번 나는야 포켓몬 마스터 이다솜 (0) | 2023.06.06 |
[백준/파이썬]16120번 PPAP (0) | 2023.06.02 |