참고: https://www.acmicpc.net/problem/11651
✔️ 문제
문제는 다음과 같다.
✔️ 풀이
얼핏 보기에 이전 문제와 동일하다고 생각할 수 있지만,
이번 문제의 차이점은 x좌표가 증가하는 순이 아닌
y좌표가 증가하는 순으로 우선 정렬을 하고,
정렬된 y좌표에서 x좌표를 정렬하는 식으로 진행된다.
import sys
N=int(sys.stdin.readline())
data=[]
for _ in range(N):
a,b=map(int,sys.stdin.readline().split())
data.append([a,b])
data.sort(key=lambda x:(x[1], x[0]))
for i in data:
print(i[0], i[1])
이전 문제에서 비슷한 코드이지만,
lambda 표현식의 이해를 통해 x[1]에 해당하는 y를
우선 정렬하고, 그 다음 x[0]에 해당하는 x를
정렬하는 방법으로 간단하게 풀 수 있었다.
ps. 정렬하기 2가 왜 1보다 더 정답 비율이 높은지 알게 되었..
화이팅 💪
'알고리즘(algo) > 백준' 카테고리의 다른 글
[백준] 10814번 - 나이순 정렬 (0) | 2023.01.29 |
---|---|
[백준] 1181번 - 단어 정렬 (0) | 2023.01.29 |
[백준] 11650번 - 좌표 정렬하기 (0) | 2023.01.28 |
[백준] 2108번 - 통계학 (0) | 2023.01.27 |
[백준] 1427번 - 소트인사이드 (0) | 2023.01.27 |