본문 바로가기

알고리즘/백준 문제풀이

백준- 11650(좌표 정렬하기, python)

728x90

 

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

 

11650번: 좌표 정렬하기

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

www.acmicpc.net

정답 코드 

import sys
input = sys.stdin.readline

n = int(input())
li = []
for i in range(n):
    [a, b] = map(int, input().split())
    li.append([a, b])

li_sort = sorted(li)

for i in range(n):
    print(li_sort[i][0], li_sort[i][1])

간단한 정렬 문제이다.

 

다르게 풀기

import sys
input = sys.stdin.readline

n = int(input())
li = []
for i in range(n):
    [a, b] = map(int, input().split())
    li.append([a, b])

li_sort = sorted(li, key = lambda x: (x[0], x[1]))

for i in range(n):
    print(li_sort[i][0], li_sort[i][1])

정렬 기준을 커스터마이징 해주었다.