https://www.acmicpc.net/problem/11651
풀이 1
좌표 정렬하기 1에서 공부할 수 있었듯이 sort( )메서드를 사용하면 x부터 정렬한 뒤 y를 정렬해주었는데 이를 반대로 이용해서 y와 x의 자리를 바꾸어서 리스트에 넣어준 뒤 sort( )를 실행하고 출력은 다시 제자리로 바꿔주어서 뽑아주는 방법이 있다.
# 11651번 좌표 정렬하기 2
import sys
input = sys.stdin.readline
t = int(input())
li = []
for _ in range(t):
x, y = map(int, input().split())
li.append((y,x))
li.sort()
for a, b in li:
print(b,a)
출력결과
풀이 2
람다를 이용해서 y부터 정렬한뒤 x를 정렬해준다.
# 11651번 좌표 정렬하기 2
import sys
input = sys.stdin.readline
t = int(input())
li = []
for _ in range(t):
li.append(list(map(int, input().split())))
li.sort(key = lambda x : (x[1], x[0]))
for a, b in li:
print(a,b)
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준] 1075번 나누기 - 파이썬 (0) | 2022.03.03 |
---|---|
[백준] 1065번 한수 - 파이썬 (0) | 2022.03.02 |
[백준] 18108번 1998년생인 내가 태국에서는 2541년생?! - 파이썬 (0) | 2022.02.23 |
[백준] 11650번 좌표 정렬하기 - 파이썬 (0) | 2022.02.23 |
[백준] 10817번 세 수 - 파이썬 (0) | 2022.02.22 |