BAEKJOON (Python)/단계별

BAEKJOON_11651 "좌표 정렬하기 2" PYTHON

RiLLa_0511 2023. 3. 16. 16:32
728x90

[백준] 11651번 Python 파이썬

 

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

이 문제는 11650번 문제와 같은 방식으로 풀었다. 

 

11650번은 x좌표를 우선으로 오름차순 정렬을 해야하고, 11651번은 y좌표를 우선으로 오름차순 정렬을 하는 문제이다.

 

sort() 함수를 사용하면 x좌표 기준으로 오름차순 정렬이 되기 때문에 sort 함수를 사용하기 전에 x좌표와 y좌표의 자리를 바꾸어 주었다.

 

그리고 sort 함수를 사용한 후 다시 한 번 x좌표와 y좌표의 자리를 바꾸어 출력하였다.

import sys
n = int(input())
cd = []
for _ in range(n):
    x = list(map(int, sys.stdin.readline().split()))
    cd.append(list(x))

for i in cd:
    i[0], i[1] = i[1], i[0]

cd.sort()

for i in cd:
    i[0], i[1] = i[1], i[0]
  
for i  in cd:
    for j in i:
        print(j, end = ' ')
    print('')

혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.