백준/ Silver 2 문제 , 백준 파이썬 18870 , 좌표압축 [정렬]
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
좌표 압축 이라는 것을 처음들어봐서 무엇인지 찾아봤다. 개념을 이해하고 접근하니 쉽게 풀렸다.
<문제 출처>
https://www.acmicpc.net/problem/18870
------------------------------------------------------------------------------------------------------------------------------
set 함수를 통해서 입력받은 숫자들을 따로 저장해준다.
이때 인덱스 파악을 위해 오름차순으로 정렬한다.
이후, 그냥 인덱스를 부여하여 원래 리스트에서 하나씩 값을 찾으면 시간초과에 걸리므로
dict를 사용하여 key값을 넣으면 value 값으로 인덱스가 호출되게 코드를 구현하였다.
------------------------------------------------------------------------------------------------------------------------------
정답
N=int(input())
nums=list(map(int,input().split()))
zip=sorted(list(set(nums)))
check={}
cnt=0
for i in zip:
check[i]=cnt
cnt+=1
for i in nums:
print(check[i], end=' ')
반응형
'알고리즘 공부 > 백준 - 파이썬' 카테고리의 다른 글
백준/ Gold 2 문제 , 백준 파이썬 11444 , 피보나치 수 6 (0) | 2022.07.15 |
---|---|
백준/ Gold 5 문제 , 백준 파이썬 14502, 연구소 [구현, BFS] (0) | 2022.07.15 |
백준/ Gold 5 문제 , 백준 파이썬 9251 , LCS (0) | 2022.07.14 |
백준/ Silver 4 문제 , 백준 파이썬 4949 , 균형잡힌 세상 (0) | 2022.07.13 |
백준/ Silver 3 문제 , 백준 파이썬 11051 , 이항계수2 (0) | 2022.07.11 |