문제 링크: 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
내 풀이:
Review:
sorted() 내장함수를 사용해서 정렬할 때 람다 함수(lambda)로 정렬하고자 하는 순서대로 인자를 전달할 수 있다면 쉽게 구현할 수 있는 문제이다.
Idea:
좌표를 y 좌표가 증가하는 순으로, y 좌표가 같으면 x 좌표가 증가하는 순서로 정렬하면 된다. 정렬을 위해 비교할 아이템의 개수가 둘 이상일 때 튜플을 사용해서 해당 순서대로 인자를 보내주면 된다. 위의 문제에서 y 좌표를 기준으로 먼저 정렬하고, 같은 값이 존재할 때 x 좌표로 정렬하기 위해 람다함수의 인자로 x[1](y 좌표), x[0](x 좌표)을 튜플을 이용해서 보냈고, 정렬된 리스트에서 x 좌표, y 좌표를 꺼내 출력하면 해결할 수 있다.
'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글
[BOJ_1850] 최대공약수 (0) | 2021.07.26 |
---|---|
[BOJ_11655] ROT13 (0) | 2021.07.19 |
[BOJ_1668] 트로피 진열 (0) | 2021.07.11 |
[BOJ_7568] 덩치 (0) | 2021.07.11 |
[BOJ_1259] 펠린드롬수 (0) | 2021.07.05 |
댓글