Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- ML
- 개발자 취업
- 플러터
- c++ 코테
- flutter getx
- 파이썬
- 알고리즘
- 파이썬 코테
- 티스토리챌린지
- Laravel
- 뷰
- til
- DP
- 코테 파이썬
- 코딩테스트 준비
- react
- 안드로이드
- C++
- vue
- Flutter
- 코테
- 99클럽
- 백준
- 항해99
- 코딩테스트준비
- 코딩테스트
- Python
- 오블완
- 개발자취업
- 라라벨
Archives
- Today
- Total
잡다로그
[Python/코테] 백준 18870 좌표 압축 본문
18870 좌표압축
문제 및 조건 설명: https://www.acmicpc.net/problem/18870

알고리즘 설계
중복을 제거하고 본인보다 작은 원소의 갯수를 출력
알고리즘 구현
import sys
from bisect import bisect_left
n = int(sys.stdin.readline().strip())
array = list(map(int, sys.stdin.readline().split()))
no_duplicate = list(set(array))
no_duplicate.sort()
result = [0] * n
for i in range(len(array)):
# no_duplicate의 인덱스가 곧 자신보다 작은 수의 갯수
print(bisect_left(no_duplicate, array[i]), end=' ')
# result 배열을 만들어서 append한 뒤 reault를 출력하는 것이 시간이 조금 더 빠르네?
나다어
- 중복 제거를 위해 set 자료형을 활용한다.
- 특정 원소의 인덱스를 찾기 위해서 내장 함수 bisect_left (또는 bisect_right)를 활용한다.
'Algorithm' 카테고리의 다른 글
| [C++/코테] 해시 - 개념, 백준 예제 (0) | 2023.12.04 |
|---|---|
| [C++/코테] 투 포인터 - 개념, 백준 예제 (0) | 2023.12.04 |
| [C++/코테] 이진탐색 - 개념, 백준 예제 (0) | 2023.12.04 |
| [Python/코테] 백준 4948 베르트랑 공준 (0) | 2023.12.02 |
| [Python/코테] 소수 판별, 에라토스테네스의 체 (0) | 2023.12.01 |
Comments