알고리즘/백준

[파이썬] BOJ_11651(좌표 정렬하기 2)

딱따구르리 2022. 5. 17. 14:09
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


 

해설

 

이 문제는 y좌표가 증가하는 순으로, y좌표가 같다면 x좌표가 증가하는 순으로 정렬하는 문제이다.

파이썬 내장 함수를 사용한다면, 정렬은 어렵지 않다.

 

나는 입력받은 좌표 값을 temp를 이용해 y, x로 뒤바꿔 정렬했다.

다른 분들은 람다를 이용해 한두줄로 끝내던데 난 아직 람다가 익숙하지 않아서 어렵다..

람다를 이용하면 시간도 더 짧게 걸리니 익숙해지는 게 좋을 듯 싶다.


코드

 

-파이썬

#백준 11651(좌표 정렬하기 2)

n = int(input())
coo = []
for i in range(n):
    xy = list(map(int, input().split()))
    coo.append(xy)

for i in coo:
    tmp = 0
    tmp = i[0]
    i[0] = i[1]
    i[1] = tmp
coo.sort()

for i in coo:
    print(i[1], i[0])
728x90
반응형