https://www.acmicpc.net/problem/11651
arr = []
for i in range(int(input())):
x, y = map(int, input().split())
arr.append((x, y))
arr.sort(key = lambda a: a[0])
arr.sort(key = lambda a: a[1])
for a in arr:
print(*a)
쉽다~
근데 시간이 매우 오래 걸렸다.
import sys
input = sys.stdin.readline
arr = []
for i in range(int(input())):
x, y = map(int, input().rstrip().split())
arr.append((x, y))
arr.sort(key = lambda a: a[0])
arr.sort(key = lambda a: a[1])
for a in arr:
print(*a)
풀이 1의 input()
을 sys.stdin.readline()
으로 대체해주었다.
실행 시간이 많이 개선되었다.
import sys
input = sys.stdin.readline
arr = []
for i in range(int(input())):
x, y = map(int, input().split())
arr.append((x, y))
arr.sort(key = lambda a: (a[1], a[0]))
for a in arr:
print(*a)
lambda 함수를 하나로 묶을 수가 있었다!!!
다만 순서를 달리해야 하는 것 같다.
실행 시간은 크게 차이나지 않았지만, 훨씬 간결해졌다.
arr.sort(key = lambda a: 조건)
식을 사용하자.arr.sort(key = lambda a: (조건1, 조건2))
을 사용하자.