dev/algorithm
BOJ / 11650번 / 좌표 정렬하기 [Go]
crscnt
2020. 7. 13. 23:23
👩🏻💻 문제
11650번: 좌표 정렬하기
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
www.acmicpc.net
✍🏻 풀이
🎨 Go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
var n int
reader := bufio.NewReader(os.Stdin)
fmt.Fscanln(reader, &n)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var mat = make([][]int, n)
for i := 0; i < n; i++ {
mat[i] = make([]int, 2)
}
for i := 0; i < n; i++ {
fmt.Fscanln(reader, &mat[i][0], &mat[i][1])
}
sort.Slice(mat, func(i, j int) bool {
for idx := range mat[i] {
if mat[i][idx] == mat[j][idx] {
continue
}
return mat[i][idx] < mat[j][idx]
}
return false
})
for i := 0; i < n; i++ {
fmt.Fprintf(writer, "%d %d\n", mat[i][0], mat[i][1])
}
}
728x90