BOJ : 좌표 정렬하기 [11650]

재현·2021년 7월 4일
0
post-custom-banner

1. 문제


2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.

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

2. 아이디어


  • mine
    1. x좌표 크기를 우선적으로 정렬한 후 y좌표를 정렬해준다.
  • clone
    1. 2차원 배열에서는 그냥 sort()를 했을 경우 첫 번째 키 값이 동일하면 자동으로 그 다음 키 값에 따라 정렬 (출처 : https://dev-note-97.tistory.com/13)

3. 코드


mine

n = int(input())
xy = []
for _ in range(n):
  xy.append(list(map(int,input().split())))
xy.sort(key = lambda x : (x[0],x[1])) # 그냥 sort()도 됨
for result in xy:
  print(result[0], result[1])

4. 결과 비교


1. mine

2. clone

  • 속도는 큰 차이가 없으나 메모리 측면에서 clone 코드가 나의 코드보다 8000KB정도 절약된다.
profile
성장형 프로그래머
post-custom-banner

0개의 댓글