체리의 하루
Published 2023. 4. 11. 11:24
[Go] BOJ / 10814번 / 나이순 정렬 BOJ/Go

💻 문제

 

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