본문 바로가기
IT/알고리즘

1일 N알고리즘 - #42

by Sungjun_ 2020. 7. 1.

문제

https://www.acmicpc.net/problem/11651

 

11651번: 좌표 정렬하기 2

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

www.acmicpc.net

 


풀이

import sys
def main():
    N = int(input())
    ptLst = []
    for i in range(N):
        ptLst.append(list(map(int, sys.stdin.readline().split())))
        ptLst[i][0], ptLst[i][1] = ptLst[i][1], ptLst[i][0]
    ptLst.sort()
    for i in range(N):
        ptLst[i][0], ptLst[i][1] = ptLst[i][1], ptLst[i][0]
        print(ptLst[i][0], ptLst[i][1])
main()

 

리스트에 좌표를 넣고 바로 x, y의 좌표를 서로 바꿔줍니다.

첫 번째 for문이 끝나면 sort로 정렬을 해주고

두 번째 for문으로 다시 x, y 좌표를 바꿔주고 출력하게 합니다.

 

문제 처럼 

0 4, 1 2, 1 -1, 2 2, 3 3을 입력하면

처음에 4 0, 2 1, -1 1, 2 2, 3 3이 저장이 되고

정렬을 하면 -1 1, 2 1, 2 2, 3 3, 4 0이 됩니다.

 

그리고 다시 x, y좌표를 바꿔주면 1 -1, 1 2, 2 2, 3 3, 0 4 이렇게 됩니다.

 


결과

결과 화면

 

 

 

시험 때문에 한동안 글을 못올렸네요.

'IT > 알고리즘' 카테고리의 다른 글

1일 N알고리즘 - #44  (0) 2020.07.01
1일 N알고리즘 - #43  (0) 2020.07.01
1일 N알고리즘 - #41  (0) 2020.06.11
1일 N알고리즘 - #40  (0) 2020.06.09
1일 N알고리즘 - #39  (0) 2020.06.09

댓글