본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 5][Python] 11650번 : 좌표 정렬하기

by 빛밤하늘 2021. 5. 4.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫째 줄에 점의 개수 N을 입력합니다.
# 1 <= N <= 100,000
N = int(input())

# 점들의 좌표를 저장하는 리스트 변수를 선언합니다.
points = []

# 점의 개수 N만큼 반복합니다.
for point_index in range(N):
    # 점의 위치 xi와 yi를 공백으로 구분해 입력합니다.
    # -100,000 <= xi, yi <= 100,000
    # xi, yi는 정수형으로 변환해줍니다.
    point = list(map(int, input().split(' ')))

    # 입력한 점의 좌표를 points 리스트 변수에 넣어줍니다.
    points.append(point)

# 점들을 x좌표와 y좌표를 기준으로 오름차순 정렬을 해줍니다.
points.sort(key=lambda point: (point[0], point[1]))

# 정렬이 된 점들을 x좌표 y좌표 형식으로 하나씩 출력해줍니다.
for point in points:
    print(point[0], point[1])

결과

 

처음에 제출했을 때 제출 중간에 랜선을 뽑아버려서 그런지 시간 초과가 떴습니다.

두 번째 제출을 할 때 코드를 그대로 제출했는데 시간은 오래 걸렸지만 맞았습니다 결과가 나왔습니다.

다른 사람들의 파이썬 결과를 보니까 세 자리 숫자의 실행 시간이 걸린 사람들도 많았습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글