파이썬 알고리즘 문제 풀이

BaekJoon Online Judge 11651번 파이썬

gogi masidda 2022. 5. 2. 17:47

문제 링크
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값이 같은 경우에만 x값을 이용하여 정렬하는 문제이다.
그래서 그냥 sort만 사용하지 않고 sort(key= lambda x:(x[1],x[0]))을 이용하여 배열의 두번째 인덱스, 즉 y좌표가 우선임을 알려주었다.
나머지는 11650번과 동일하다.

정답 코드

import sys

N = int(sys.stdin.readline())
coord = [[0] * 2 for i in range(0,N)]
for i in range(0,N):
  coord[i] = list(map(int,sys.stdin.readline().split()))

coord.sort(key=lambda x: (x[1],x[0]))

for i in range(0,N):
  print(f"{coord[i][0]} {coord[i][1]}")

 

728x90