반응형
백준 11650번 : 좌표 정렬하기 문제풀이 [파이썬]
<문제>
11650번 문제의 내용은 아래와 같습니다.
좌표 정렬하기
문제
2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
출력
첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.
예제 입력 1 복사
5
3 4
1 1
1 -1
2 2
3 3
예제 출력 1 복사
1 -1
1 1
2 2
3 3
3 4
<작성한 코드>
#좌표 정렬하기
N = int(input())
list = []
for _ in range(N):
x, y = map(int, input().split())
list.append((x, y))
list.sort()
for i in range(len(list)):
print(list[i][0], list[i][1])
<코드 풀이>
이전에 풀었던 정렬문제들과 마찬가지로
sort() 내장함수를 사용해 풀었다.
N = int(input())
list = []
for _ in range(N):
x, y = map(int, input().split())
list.append((x, y))
위처럼 일단 문제에서 요구하는 입력값을 받기 위한 부분들을 처리해주었다.
list 안에는 (x,y)가 원소로 들어가서 이차원 리스트가 만들어지게되는데,
이차원 배열또한 sort()를 사용하면 알아서 오름차순으로 정렬해준다.
list.sort()
아래와 같이 문제에서 요구하는 출력 예제대로 출력해주면 끝
for i in range(len(list)):
print(list[i][0], list[i][1])
반응형
'백준 알고리즘' 카테고리의 다른 글
백준 1181번 단어 정렬 문제풀이, 파이썬 (0) | 2023.03.05 |
---|---|
백준 11651번 좌표 정렬하기2 문제풀이, 파이썬 (0) | 2023.03.05 |
백준 1427번 소트인사이드 문제풀이, 파이썬 (0) | 2023.03.05 |
백준 2108번 통계학, 파이썬 문제풀이 (0) | 2023.03.04 |
백준 10989번 수 정렬하기 3 문제풀이, 파이썬 (0) | 2023.03.02 |