개발자일걸요..?

11651번 좌표 정렬하기2 본문

알고리즘코딩/Baekjoon Online Judge

11651번 좌표 정렬하기2

Re_A 2021. 2. 4. 09:40
728x90
반응형

문제링크 : 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

<방법1>

11650번 문제에서 list[i][0]에 x, list[i][1]에 y를 저장해서 sort 했다면

11651번 문제에서는 정렬의 기준점만 바뀐 것이기 때문에 list[i][0]에 y, list[i][1]에 x를 저장해서 sort 하면된다.

import sys
T = int(sys.stdin.readline())
list = [[0 for i in range(0,2)] for j in range(0,T)]
for i in range(0,T):
    list[i][1],list[i][0] = map(int, sys.stdin.readline().split())
list = sorted(list)
for i in range(0,T):
    print(list[i][1],end=" ")
    print(list[i][0],end= "\n")

<방법2>

11650번과 동일하게 list[i][0]에 x, list[i][1]에 y를 저장한후, sort함수의 기준점을 key로 바꿔 설정한다.

import sys

T = int(sys.stdin.readline())
list = [[0 for i in range(0,2)] for j in range(0,T)]
for i in range(0,T):
    list[i][0], list[i][1] = map(int, sys.stdin.readline().split())
list.sort(key = lambda list: (list[1],list[0]))

for i in range(0,T):
    print(list[i][0],end=" ")
    print(list[i][1],end= "\n")
반응형

'알고리즘코딩 > Baekjoon Online Judge' 카테고리의 다른 글

10814번 나이순 정렬  (0) 2021.02.04
1181번 단어 정렬  (0) 2021.02.04
11650번 좌표 정렬하기  (0) 2021.02.04
1427번 소트인사이드  (0) 2021.02.04
2751번 수 정렬하기 2  (0) 2021.02.04
Comments