알고리즘/이것저것

[Python] 백준 11650번: 좌표 정렬하기

아뵹젼 2021. 3. 8.

 

소스코드

import sys
n = int(sys.stdin.readline())
dot = []
for i in range(n) :
    [a,b] = map(int, sys.stdin.readline().split())
    dot.append([a,b])
dot.sort(key = lambda x : (x[0],x[1]))
for i in range(n) :
    print(dot[i][0],dot[i][1])

 

처음에는 쉽네~ 하고 풀었다가 시간 초과가 났다.

그래서 입력을 input() 대신 sys.stdin.readine() 으로 받고, 

dot에 점을 list로 입력 받을 때마다 append 해주는 방법으로 바꾸었다.

 

sort 에 저렇게 조건을 걸어주는 건 처음 사용해봤다.사실 기본값이 오름차순이기 때문에 key = lambda 를 사용하지 않아도 되지만,방법을 익히기 위해 사용해보았다.첫 번째 조건은 x[0], 즉 리스트의 첫 번째 인자를 오름차순으로,그리고 x[0] 가 같다면 x[1], 리스트의 두 번째 인자를 오름차순으로 정렬하도록 하였다.

 

 

+ 나는 정말 멀티테스킹이 안되는 사람인 것 같다.. ㅠ

특히 여러가지 언어를 왔다갔다 하면서 써야되는게 좀 어렵다..

이번 학기는 c, java, python 셋 다 사용할 것 같은데 막막 그자체,,

한 가지 언어라도 제대로 쓰면 다행일텐데 이도 저도 아닌 느낌,,

 

 

 

댓글