본문 바로가기

PS/백준

[BOJ] 백준 11651 좌표 정렬하기 2 (Swift)

반응형

문제

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

풀이

https://www.acmicpc.net/problem/11650

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

https://dev-mandos.tistory.com/133

 

[BOJ] 백준 11650 좌표 정렬하기 (Swift)

문제 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000)

dev-mandos.tistory.com

위 문제를 풀었다면 쉽게 풀 수 있는 문제입니다.
정렬을 하는 조건만 바꿔주면 됩니다.

위 문제를 풀지않았다면,
y좌표로 오름차순, y좌표가 같다면 x좌표로 오름차순으로 정렬해주는 문제입니다.
Swift에서는 고차함수 sort 메서드의 파라미터인 Bool타입을 리턴해주는 클로저로 어떤 식으로 정렬을 해줄지 정의할 수 있습니다.

y좌표가 같다면? x좌표를 오름차순으로 정렬하고, 같지 않다면 y좌표를 오름차순으로 정렬하도록 작성을 해주었습니다.

소스코드

후기

11650번 문제와 거의 동일한 문제입니다.
정렬할 때, 어떠한 조건으로 정렬할 지 작성할 줄 안다면 쉽게 풀 수 있는 문제인 것 같습니다.

반응형