728x90
반응형
백준 홈페이지 문제와 개인적인 풀이를 작성한 글입니다.
반응형
문제
2차원 평면 위의 점 N개가 주어진다.
좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다.
둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다.
(-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
출력
첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.
예제 입력 1 | 예제 출력 1 |
5 0 4 1 2 1 -1 2 2 3 3 |
1 -1 1 2 2 2 3 3 0 4 |
내 코드 - 성공
# 좌표 정렬하기 2
# 11651번
# 입력
# 5
# 0 4
# 1 2
# 1 -1
# 2 2
# 3 3
# 출력
# 1 -1
# 1 2
# 2 2
# 3 3
# 0 4
n = int(input());
array = [];
for i in range(n):
m, k = map(int, input().split());
array.append((m, k));
array.sort(key = lambda x : (x[1], x[0]));
for i in array:
print(i[0], i[1]);
사실 간단한 정렬 문제입니다.
배열 안에 정렬을 lambda 를 활용할 때 까먹지 않기 위해서 작성을 해두었습니다.
key = lambda x : (x[1], x[0])
728x90
반응형
'개발 > Coding Test - Python' 카테고리의 다른 글
[Python] 백준 1966번 프린터 큐 - 큐 (0) | 2023.06.25 |
---|---|
[Python] 백준 2108번 통계학 - 구현 (0) | 2023.06.24 |
[Python] 백준 18110번 solved.ac - 구현 (0) | 2023.06.23 |
[Python] 백준 2775번 부녀회장이 될테야 - 구현 (0) | 2023.06.21 |
[Python] 백준 12852번 1로 만들기 2 - 다이나믹 프로그래밍 (0) | 2023.06.21 |