정렬
페이지
미리보기
정렬값 / 좌표 압축
자세히 보기
백준 18870번
import sys
input = sys.stdin.readline

n = int(input())
l = list(map(int, input().split()))     # 좌표 입력
sl = sorted(set(l))                     # 입력 좌표들 중복 제거 및 정렬

d = {}
idx = 0                                 # 압축된 좌표에 부여할 새 좌표
for i in sl:
    d[i] = idx                          # 각 좌표 당 압축된 새 좌표 부여
    idx += 1
for i in l:
    print(d[i], end=" ")                # 출력
정렬집합과 맵해시를 사용한 집합과 맵자료 구조
자세히 보기
백준 11652번
import sys
input = sys.stdin.readline

cntDic = {}                 # {숫자 : 갯수} 딕셔너리
n = int(input())
for i in range(n):
    num = int(input())
    if num not in cntDic:   # 아직 키가 아니면
        cntDic[num] = 1     # 1
    else:                   # 이미 키가 있으면
        cntDic[num] += 1    # +1
result = sorted(cntDic.items(), key=lambda x: x[0])         # 먼저 키로 정렬
result = sorted(result, key=lambda x: x[1], reverse=True)   # 값 내림차순으로 정렬
print(result[0][0])                                         # 가장 앞의 값 출력