728x90
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
빈도정렬 문제와 비슷한 문제라고 생각하여 코드 똑같이 작성했는데
바로 시간초과
n = int(input())
arr = []
for i in range(n):
age, name = input().split()
arr.append([int(age), name])
for i in range(n-1):
for j in range(n-i-1):
if arr[j][0] > arr[j+1][0]:
tmp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = tmp
for x,y in arr:
print(x, end=" ")
print(y)
흠.. 퀵정렬을 사용해야하나 생각하며 다시 작성
내장함수 sorted를 쓰니 age, name 순으로 정렬이되어 가입한 순서대로 출력되지 않음
n = int(input())
arr = []
for i in range(n):
age, name = input().split()
arr.append([int(age), name])
arr.sort(key=lambda x : x[0])
for x,y in arr:
print(x, end=" ")
print(y)
lambda함수를 사용하여 나이순으로 정렬하니 정답.
728x90
'알고리즘' 카테고리의 다른 글
[백준] 10825번: 국영수 - python (0) | 2024.03.25 |
---|---|
[백준] 11656번: 접미사 배열 - python (0) | 2024.03.25 |
[백준] 2910번: 빈도 정렬 - python (0) | 2024.03.21 |
[백준] 1003번: 피보나치 함수 - python (0) | 2024.03.20 |
[백준] 5430번: AC - python (0) | 2024.03.20 |