💻 문제
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
📜 풀이
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
type userInfo struct {
age int
name string
}
func main() {
var n int
r := bufio.NewReader(os.Stdin)
w := bufio.NewWriter(os.Stdout)
defer w.Flush()
fmt.Fscanln(r, &n)
var users = make([]userInfo, n)
for i := 0; i < n; i++ {
fmt.Fscanln(r, &users[i].age, &users[i].name)
}
sort.SliceStable(users, func(i, j int) bool {
return users[i].age < users[j].age
})
for i := 0; i < n; i++ {
fmt.Fprintln(w, users[i].age, users[i].name)
}
}
✍ 설명
- func SliceStable(a_slice interface{}, less func(p, q int) bool) : 슬라이스 정렬하여 동일한 요소를 원래 순서대로 유지
728x90
'BOJ > Go' 카테고리의 다른 글
[Go] BOJ / 1181번 / 단어 정렬 (0) | 2023.04.12 |
---|---|
[Go] BOJ / 10815번 / 숫자 카드 (0) | 2023.04.11 |
[Go] BOJ / 1427번 / 소트인사이드 (0) | 2023.04.05 |
[Go] BOJ / 25305번 / 커트라인 (0) | 2023.04.05 |
[Go] BOJ / 2587번 / 대표값2 (0) | 2023.04.05 |