유형 : 정렬
[예제]
5
3 4
1 1
1 -1
2 2
3 3
[출력]
1 -1
1 1
2 2
3 3
3 4
1. 내 풀이
N = int(input())
num_list = []
for i in range(N):
num1, num2 = input().split(' ')
num1 = int(num1)
num2 = int(num2)
num_list.append([])
num_list[i].append(num1)
num_list[i].append(num2)
num_list = sorted(num_list)
for i in range(N):
print(num_list[i][0],num_list[i][1])
▷ 2차원 리스트로 만드는 게 핵심이다.
▷ x좌표, y좌표를 하나의 리스트에 담고, 기본 정렬 라이브러리인 sorted()를 이용하였다.
▷ 참고한 블로그 : 23.1 2차원 리스트를 만들고 요소에 접근하기 中 톱니형 리스트
2. 다른 풀이
출처 : 패스트캠퍼스 - 알고리즘 / 기술면접 완전 정복 올인원 패키지 Online
** 핵심 아이디어
1. (x좌표, y좌표)를 입력받은 후 x좌표, y좌표 순서대로 오름차순 정렬
2. 파이썬의 기본 정렬 라이브러리는 기본적으로 튜플의 인덱스 순서대로 오름차순 정렬
3. 따라서 단순히 기본 정렬 라이브러리를 이용(key 속성 설정 없이)
n = int(input())
array = []
for _ in range(n):
x,y = map(int, input().split(' '))
array.append((x,y))
array = sorted(array)
for i in array:
print(i[0],i[1])
문제 출처 : https://www.acmicpc.net/problem/11650
반응형
'Python' 카테고리의 다른 글
[백준] 2747번 : 피보나치 수 (0) | 2022.01.01 |
---|---|
[백준] 10989번 : 수 정렬하기 3 (0) | 2022.01.01 |
[백준] 10814번 : 나이순 정렬 (0) | 2021.12.31 |
[백준] 1427번 : 소트인사이드 (0) | 2021.12.27 |
[백준] 2750번 : 수 정렬하기 (0) | 2021.12.27 |
댓글