하루일문

[백준] 11651번 좌표 정렬하기 2 (파이썬) 본문

algorithm/baekjoon

[백준] 11651번 좌표 정렬하기 2 (파이썬)

support_u 2023. 2. 18. 17:08

문제

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
input = sys.stdin.readline

n = int(input())

n_li = []
for _ in range(n):
    a, b = map(int, input().split())
    n_li.append((a, b))

# 오름차순으로 정렬해줘, 키로 람다를 하용해서 기준인 x는 1번 후 0번 순서야
n_li_s = sorted(n_li, key= lambda x: (x[1], x[0]))

for _ in n_li_s:
    print(*_)

해설

람다 함수를 사용해서 풀이하였다.

아래 문제와 유사하게 풀이할 수 있다.

https://support-u-oneday.tistory.com/22

 

[백준] 11650번 좌표 정렬하기(파이썬)

풀이 import sys input = sys.stdin.readline N = int(input()) li = [] for _ in range(N): x, y = map(int, input().split()) li.append((x, y)) # 람다를 사용해서 x 먼져 x가 같다면 y로 가라 li_sorted = sorted(li, key = lambda x: (x[0], x[1])) fo

support-u-oneday.tistory.com