본문 바로가기

Python 코딩테스트

정렬: 백준 11651 파이썬

반응형

문제:

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

정답:

import sys

n = int(sys.stdin.readline())

array = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]

array = sorted(array, key=lambda arr: (arr[1], arr[0]))

for i in array:
    print(i[0], i[1])

 

풀이:

이 문제는 정렬을 할 때 key 값을 설정해 어떤 기준으로 정렬을 할 건지 알려주어야 했다.

각 배열의 두 번째 값을 기준으로 정렬하고, 그 값이 같다면 첫 번째 값을 기준으로 정렬해주면 된다.

 

반응형

'Python 코딩테스트' 카테고리의 다른 글

정렬: 백준 10814 파이썬  (0) 2021.08.29
정렬: 백준 1181 파이썬  (0) 2021.08.29
정렬: 백준 11650 파이썬  (0) 2021.08.29
정렬: 백준 2108 파이썬  (0) 2021.08.29
정렬: 백준 18868 파이썬  (0) 2021.08.23