백준 좌표 정렬하기 2 문제 해결을 위해 튜플 정렬에 대해 공부하게 되어 그 내용을 기록한다
tuple = [(1, 2), (0, 4), (1, -1), (3, 3), (2, 2)]
1. 첫 번째 원소를 기준으로 오름차순 출력 (두 번째 원소를 기준으로 할 경우 'x[0]' 대신 'x[1]')
tuple.sort(key=lambda x: x[0])
print(tuple)
출력
[(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)]
2. 첫 번째 원소를 기준으로 내림차순 출력 (두 번째 원소를 기준으로 할 경우 'x[0]' 대신 'x[1]')
tuple.sort(key=lambda x: -x[0])
print(tuple)
출력
[(3, 3), (2, 2), (1, 2), (1, -1), (0, 4)]
3. 첫 번째 원소를 기준으로 오름차순 & 첫 번째 원소가 같을 경우 두 번째 원소를 기준으로 오름차순 출력
tuple.sort(key=lambda x: (x[0], x[1]))
print(tuple)
출력
[(0, 4), (1, -1), (1, 2), (2, 2), (3, 3)]
4. 첫 번째 원소를 기준으로 내림차순 & 첫 번째 원소가 같을 경우 두 번째 원소를 기준으로 내림차순 출력
tuple.sort(key=lambda x: (-x[0], x[1]))
print(tuple)
출력
[(3, 3), (2, 2), (1, -1), (1, 2), (0, 4)]
# 좌표 정렬하기 2 문제 풀이
# 좌표 정렬하기
n = int(input())
input_list = []
result = []
for _ in range(n):
x, y = map(int, input().split())
input_list.append((x, y))
print(input_list)
# 두 번째 원소(x[1])로 오름차순 정렬,
# 두 번째 원소(x[1])가 같은 경우 첫 번째 원소(x[0])로 오름차순 정렬
input_list.sort(key=lambda x: (x[1], x[0]))
for i in input_list:
print(i[0], i[1])
'Python' 카테고리의 다른 글
[파이썬] Flask - redirect, render_template 차이점 (0) | 2022.05.06 |
---|---|
[파이썬] pymongo - count() (0) | 2022.04.27 |
[파이썬] pygame - pygame.key (2) | 2022.04.26 |
[파이썬] pygame - 기본 구조 (0) | 2022.04.25 |
[파이썬] if문 삼항연산자 (2) | 2022.04.22 |