Algorithm/백준
[Python] 백준 11650 - 좌표 정렬하기
내영잉
2021. 10. 12. 20:45
1. 문제 📚
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
2. 입출력 예 📋
3. 알고리즘 ✅
sorted 함수를 이용하여 정렬한다.
❗️ list를 sort 할 경우는 맨 앞을 기준으로 정렬한다.
4. 소스코드 💻
import sys
input = sys.stdin.readline
N = int(input())
nums = []
for i in range(N):
[a, b] = map(int, input().split())
nums.append([a, b])
nums = sorted(nums)
for i in range(N):
print(nums[i][0], nums[i][1])
처음에는 x 리스트, y 리스트 각각 정렬 후 출력해주었다.
하지만 (1, 2), (2, 1) 경우,
1 2 1 1
2 1 이 아닌 2 2 가 나오게 될 것이다.
따라서, 한번에 받아주어 정렬 해주어야한다.
단순히, 하나의 숫자만 정렬 가능할 줄 알았는데, 찾아보니 list 안에 list을 sorted할 경우는 맨 앞 원소를 기준으로 정렬 한다는 것을 배웠다.