오늘의 문제
https://www.acmicpc.net/problem/11650 https://www.acmicpc.net/problem/11651
두 문제가 정렬조건만 달리하면 되는 문제라 같이 정리하게 되었다.
포인트 쳌쳌
- 다중 정렬 조건을 이용하여 정렬 후 출력한다.
좌표정렬1 문제는- x좌표 오름차순
- y좌표 오름차순 순서로 정렬해야 했다면
좌표정렬2 문제는
- y좌표 오름차순
- x좌표 오름차순 순서로 정렬하면 된다.
따라서, lambda 표현식에서 인덱스 번호만 변경해주면 쉽게 구현할 수 있다.
풀이 코드
import sys
n = int(input())
points = []
for i in range(n):
x, y = sys.stdin.readline().split()
points.append((int(x), int(y)))
#좌표 정렬하기1
#result = sorted(points, key = lambda x:(x[0], x[1]))
#좌표 정렬하기2
result = sorted(points, key = lambda x:(x[1], x[0]))
for i in range(n):
sys.stdout.write('{} {}\n'.format(result[i][0], result[i][1]))