티스토리 뷰
문제
: 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.
Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다.
X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자.
입출력 규칙
1. 입력첫째 줄에 N이 주어진다.
둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다.
2. 출력첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다.
문제 풀이
<내 풀이>
- 입력받은 리스트의 중복을 제거한 후, 오름차순으로 정렬한 리스트를 만든다 (x_list_sort)
- 그리고, 숫자 순위 매핑하는 딕셔너리를 만든다.
각 숫자에 대해 그 숫자가 정렬된 리스트에서 몇 번째 인덱스인지 알면 몇 개의 숫자보다 큰지 알 수 있다.
- 원래의 리스트인 x_list를 순회하며, 각 숫자에 대해 딕셔너리에서 매핑된 값을 찾아 출력한다.
import sys
x = int(input())
x_list = list(map(int,sys.stdin.readline().rstrip().split()))
x_list_sort = sorted(set(x_list))
dic = {x_list_sort[i]:i for i in range(len(x_list_sort))}
for x in x_list:
print(dic[x],end=' ')
'코딩 > 백준' 카테고리의 다른 글
[백준/BOJ] 11651번: 좌표 정렬하기2 (Python 파이썬) (0) | 2024.08.08 |
---|---|
[백준/BOJ] 1436번: 영화감독 숌 (Python 파이썬) (0) | 2024.07.11 |
[백준/BOJ] 1018번: 체스판 다시 칠하기 (Python 파이썬) (0) | 2024.07.08 |
[백준/BOJ] 2231번: 분해합 (Python 파이썬) (0) | 2024.07.03 |
[백준/BOJ] 2798번: 블랙잭 (Python 파이썬) (1) | 2024.07.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- sorted
- policy function
- 딥러닝
- 11870
- Andrew Ng
- *args
- 앤드류응
- state value function
- 손실함수
- action value function
- 강화학습
- baekjoon
- numpy 배열 속성
- 강의노트 정리
- adrew ng 머신러닝 강의
- **
- 경사하강법
- 로지스틱 회귀
- numpy 배열 생성
- Sort
- 파이썬
- omp: error #15
- **kwargs
- NumPy
- *
- 숏코딩
- computation graph
- python
- 비용함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함