반응형
1. 문제
2차원 평면 위의 점 N개를 y좌표 오름차순 기준으로 정렬하는 문제
2. 제한
시간 제한 1초
메모리 제한 256MB
3. 알고리즘 분류
* 정렬
4. 접근 방식
x 좌표 기준 정렬은 points.sort() 를 사용하면 돼서 간단했는데,
y 기준은 아직 친하지 않은 lambda 를 활용해 보았다
좌표를 튜플로 입력 받아 리스트에 append 하여 저장하고
(x, y) == (point[0], point[1]) 로 두고 point 를 key 로 정렬하여 출력하였다
5. 전체 코드
# https://www.acmicpc.net/problem/11651
# 2차원 평면 위의 점 N개를 y좌표 오름차순 기준으로 정렬하는 문제
n = int(input().strip())
points = [] # 입력된 좌표를 저장할 리스트
for i in range(n):
x, y = map(int, input().split())
points.append((x, y)) # 튜플 형태로 저장
# y 기준으로 오름차순 정렬, y 가 같으면 x 기준 정렬
points.sort(key=lambda point: (point[1], point[0]))
# 정렬된 좌표 출력
for x, y in points:
print(x, y)
반응형
'알고리즘' 카테고리의 다른 글
[백준] 2346 풍선 터뜨리기 Python (0) | 2025.02.20 |
---|---|
[백준] 4949 균형잡힌 세상 Python (0) | 2025.02.17 |
[백준] 11866 요세푸스 문제 0 C (1) | 2024.10.23 |
[백준] 12865 아주 평범한 배낭 Python (1) | 2024.10.02 |
[백준] 9251 LCS Python (1) | 2024.09.30 |