용꿀
꼬마개발자허니
용꿀
전체 방문자
오늘
어제
  • 분류 전체보기 (248)
    • 개발 (75)
      • 스프링 입문 (7)
      • 스프링 기본 (9)
      • ToDo List using JPA (2)
      • 스프링 개념 (9)
      • 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (8)
      • 스프링 MVC (3)
      • CS (19)
      • 개발 팁 (8)
      • 스프링 MSA (5)
      • 곰터뷰🐻 (5)
    • 알고리즘 (169)
      • 알고리즘 문제 풀이 (165)
    • 잡동사니 (1)
      • 노래 가사 (1)
hELLO · Designed By 정상우.
용꿀

꼬마개발자허니

(Python) 백준 11650번 - 좌표 정렬하기
알고리즘/알고리즘 문제 풀이

(Python) 백준 11650번 - 좌표 정렬하기

2022. 12. 30. 15:52

문제 링크 : https://www.acmicpc.net/problem/11650

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

풀이

sort() 함수에 key로 lambda 함수를 넘겨주게 되면, 이 함수의 반환값을 기준으로 순서대로 정렬하게 된다.

여기서는 x[0], x[1] 순으로, 즉 리스트의 첫번째 요소인 x좌표로 정렬 후에 두번째 요소인 y좌표를 기준으로 정렬하게 되는 것이다. 

import sys
num = int(sys.stdin.readline())
xys = []
for _ in range(num):
    xy = list(map(int, sys.stdin.readline().split()))
    xys.append(xy)
for x, y in sorted(xys, key=lambda x: (x[0], x[1])): # 리스트의 첫번째 element인 x좌표를 기준으로 정렬 후 두번째 element인 y좌표를 기준으로 정렬
    print(x, y)

'알고리즘 > 알고리즘 문제 풀이' 카테고리의 다른 글

(Python) 백준 11866번 - 요세푸스 문제 0  (0) 2022.12.31
(Python) 백준 11651번 - 좌표 정렬하기 2  (0) 2022.12.30
(Python) 백준 10814번 - 나이순 정렬  (0) 2022.12.30
(Python) 백준 7568번 - 덩치  (0) 2022.12.28
(Python) 백준 2751번 - 수 정렬하기 2  (0) 2022.12.27
    '알고리즘/알고리즘 문제 풀이' 카테고리의 다른 글
    • (Python) 백준 11866번 - 요세푸스 문제 0
    • (Python) 백준 11651번 - 좌표 정렬하기 2
    • (Python) 백준 10814번 - 나이순 정렬
    • (Python) 백준 7568번 - 덩치
    용꿀
    용꿀

    티스토리툴바