Keep going

[백준] 11650번 파이썬(python) - 좌표 정렬하기 본문

코딩/백준

[백준] 11650번 파이썬(python) - 좌표 정렬하기

Howard Schultz 2020. 8. 13. 22:51
반응형

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

 

11650번: 좌표 정렬하기

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

www.acmicpc.net

생각보다 푸는데 오래걸렸고, 모르는 사항들은 구글 검색을 통해 해결했다. 그렇게 효율적으로 문제를 푼 것 같지는 않다. 이렇게 푸는 사람도 있다는 것 정도로 참고하시면 좋을 것 같다.

num = int(input())
x = [0 for i in range(num)]
y = [0 for i in range(num)]
a = [0 for i in range(num)]
for i in range(num):
    x[i], y[i] = map(int, input().split())
    a[i] = [x[i],y[i]]
b = sorted(a)
for i in range(num):
    b[i] = str(b[i])[1:-1]
    b[i] = b[i].replace(',','')
    print(b[i])

1. 먼저 숫자를 입력 받는다.

2. x,y좌표를 입력 받은 리스트를 만들고, x,y를 하나의 리스트로 만들어 포함될 리스트 a를 만든다.

3. x,y 좌표에 해당하는 값들을 입력 받는다. 

4. sorted(a)를 통해서 a를 오름차순으로 정렬한다.

5. b의 i번째 항목을 str을 통해 문자열로 변환하고, 첫번째와 마지막 문자(대괄호)를 제거한다. 

6. ','를 ''(공백)으로 대체한다.

7. 출력한다.

반응형