알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_11651] 좌표 정렬하기 2

hueco 2021. 7. 13.

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

댓글