728x90
728x90
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
크게 어려운 점은 없는 무난한 list 문제였다.
다만 age를 int 취급해줘야 하는 점 잊지 않아야겠다.
<추천하지 않음>
더보기
N = int(input())
mem = []
for i in range(N):
age, name = input().split()
mem.append([])
mem[i].append(i)
mem[i].append(int(age))
mem[i].append(name)
mem.sort(key=lambda x : (x[1], x[0]))
for m in mem:
print(m[1], m[2])
위 코드도 정답처리 되는데, 시간이 정말 많이 걸린다는 단점이 있었다.
그래서 sys를 이용해 입력을 받았더니 놀라운 결과를 받았다.
밑채점 결과는 앞서 올린 코드를 제출한 결과이고, 윗채점 결과는 아래 올릴 코드를 제출한 결과이다.
(아주 조금이긴 하지만) 코드 길이가 늘어났음에도 시간이.. 원래 시간의 10%도 안걸렸다.
input이 많이 느리긴 한가 싶다. 아래 코드를 추천한다.
import sys
N = int(input())
mem = []
for i in range(N):
age, name = sys.stdin.readline().split()
mem.append([])
mem[i].append(i)
mem[i].append(int(age))
mem[i].append(name)
mem.sort(key=lambda x : (x[1], x[0]))
for m in mem:
print(m[1], m[2])
728x90
728x90
'[Python]BaekJoon.AC' 카테고리의 다른 글
[Python]백준 BaekJoon.AC 1920 : 수 찾기(이분탐색) (0) | 2022.01.19 |
---|---|
[Python]백준 BaekJoon.AC 11651 : 좌표 정렬하기2(sys, sort()) (0) | 2022.01.16 |
[Python]백준 BaekJoon.AC 11650 : 좌표 정렬하기(sys, sort()) (0) | 2022.01.15 |
[Python]백준 BaekJoon.AC 10989 : 수 정렬하기3(sys, list) (0) | 2022.01.14 |
[Python]백준 BaekJoon.AC 7568 : 덩치(list, for문) (0) | 2022.01.13 |
[Python]백준 BaekJoon.AC 2751 : 수 정렬하기2(sys, sort()) (0) | 2022.01.13 |
[Python]백준 BaekJoon.AC 2609 : 최대공약수와 최소공배수(유클리드 호제법) (0) | 2022.01.12 |
[Python]백준 BaekJoon.AC 1436 : 영화감독 숌(브루트포스, find()) (0) | 2022.01.11 |