11651 좌표 정렬하기 2 파이썬 / 리스트 안의 리스트
2020. 9. 12. 00:58
반응형
두 값을 입력받아서 배열에 넣어서 sorting해줘야 하는데 어떤식으로 넣을 지가 첫 번째 관건이고, 두 번째는 그 데이터를 어떻게 sorting할 지다.
정답코드
l = []
for i in range(int(input())):
l.append(list(map(int, input().split())))
l.sort(key=lambda x: (x[1], x[0]))
for i in range(len(l)):
print(l[i][0], l[i][1])
생각보다 간단했다.
*첫 번째 고난 해결법
원래 두 값을 받던 식으로 map(int, input().split())으로 받고, 그리고 그 데이터를 list로 감싼다. 그 후 그 값들을 l에 append를 계속 해 나가면서 추가해 준다.
그러면 1,2와 3,4라는 값을 입력했을 때 [[1,2], [3,4]]라는 값을 감싸지게 된다.
*두 번째 고난 해결법
sorting을 하는 것인데, 저번에도 포스팅했던 것 같았는데 또 까먹었다. lambda를 사용하는데, x[1]을 기준으로 정렬을 하고, x[1] 다음 우선순위로는 x[0]가 온다. x[1]이 같다면 x[0]로 sorting을 하는 것.
그리고 l[i]의 0번째 인덱스와, 1번째 인덱스를 번갈아가면서 출력해주면 정상적으로 출력이 된다.
반응형
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 리스트로 한 줄에 여러 값 입력 받기 (0) | 2020.09.07 |
---|---|
파이썬 람다 lambda, sort key (0) | 2020.09.03 |
2751번 파이썬 코테 속도 메모리 줄이기 stdin stdout '\n' (0) | 2020.09.02 |
백준 2751 주석 설명 / 파이썬 heap sort 힙 소트 구현 (0) | 2020.09.02 |
파이썬 리스트 범위 지정, 슬라이싱 (0) | 2020.08.18 |