알고리즘/baekjoon
[백준/파이썬] 나이순 정렬, 좌표 정렬하기, 수 정렬하기3
jungeun960
2021. 6. 21. 16:20
유형별 문제 풀이 - 기본 정렬 알고리즘 - 02. 핵심 유형 문제풀이
-> 문제유형 : 정렬
n = int(input())
n_list = []
for i in range(n):
age, name = list(input().split())
n_list.append([int(age),name])
n_list.sort(key=lambda x :x[0])
for i in n_list:
age, name = i
print(age, name)
-> 문제유형 : 정렬
n = int(input())
n_list = []
for i in range(n):
x,y = list(map(int, input().split()))
n_list.append((x,y))
n_list.sort(key=lambda x:(x[0],x[1]))
# 파이썬의 기본 정렬 라이브러리는 기본적으로 튜플의 인덱스 순서대로 오름차순 정렬한다
# 때문에 sort()만 해줘도 알아서 x좌표, y좌표 순으로 정렬해줌
# n_list.sort()
for x,y in n_list:
print(x,y)
-> 문제유형 : 정렬
point. 데이터 개수 최대 10,000,000 -> 시간복잡도 O(N)의 정렬 알고리즘 사용 -> 계수 정렬 사용하기
import sys
input = sys.stdin.readline
n = int(input())
n_list = [0]*10001
for i in range(n):
n_list[int(input())] +=1
for i in range(10001):
if n_list[i] !=0:
for j in range(n_list[i]):
print(i)
반응형