미소를뿌리는감자의 코딩

[백준 2024/03/23] 11651번 좌표 정렬하기 2 본문

코딩 테스트/백준

[백준 2024/03/23] 11651번 좌표 정렬하기 2

미뿌감 2024. 3. 23. 11:57
728x90

https://www.acmicpc.net/problem/11651

 

11651번: 좌표 정렬하기 2

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

1. 접근 방법

이번 문제는 sorted를 이용하면 쉽게 풀 수 있는 문제였다.

coor는 [[ , ], [ , ], [ , ] ... ] 이렇게 구성된 list이다. 즉, 2차원 list

sorted_coor = sorted(coor, key=lambda coor: (coor[1], coor[0]))

coor를 기준으로 key를 설정해주었고, 이를 lambda를 통해서 어떤 기준으로 정렬해줄 것인지 적어두었다.

coor[1], coor[0] 으로 해두어도 잘 정렬이 되었다.

 

2. 코드

coor = []

for i in range(int(input())):
    coor.append(list(map(int, input().split())))

sorted_coor = sorted(coor, key=lambda coor: (coor[1], coor[0]))

for coor in sorted_coor:
    print(coor[0], coor[1])

 

728x90