Engineering Note

[BOJ:11651] 좌표정렬하기2 본문

Problem Solving/BOJ

[BOJ:11651] 좌표정렬하기2

Software Engineer Kim 2021. 8. 22. 22:34

문제

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

](https://www.acmicpc.net/problem/11651)

문제해결방법

  • 파이썬 리스트 내장함수 sort()의 특징을 이용하면 쉽게 풀 수 있다.
  • 파이썬의 리스트의 요소가 하나가 아니라 리스트, 튜플로 저장되어 있으면 각 요소의 순서대로 기준이 되어 정렬한다. 그러므로 x,y를 입력 받고 (y,x) 순으로 정렬해주면 y를 기준으로 먼저 정렬하고 y값이 같으면 x 값을 비교하여 정렬하게 된다.

코드

import sys

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

point = []

for i in range(n):
    x, y = map(int,sys.stdin.readline().rstrip().split())
    point.append((y,x))

point.sort()

for elem in point:
    print(elem[1],elem[0])

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ:10814]나이순 정렬  (0) 2021.08.22
[BOJ:1181] 단어 정렬  (0) 2021.08.22
[BOJ:11650] 좌표정렬하기  (0) 2021.08.22
[BOJ:1427] 소트인사이드  (0) 2021.08.22
[BOJ:1874] 스택수열  (0) 2021.08.21
Comments