728x90
반응형
https://www.acmicpc.net/problem/10814
빈도정렬 문제와 비슷한 문제라고 생각하여 코드 똑같이 작성했는데
바로 시간초과
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 |