💻 문제
1181번: 단어 정렬
첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.
www.acmicpc.net
📜 풀이
<bash />
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
var n int
r := bufio.NewReader(os.Stdin)
w := bufio.NewWriter(os.Stdout)
defer w.Flush()
fmt.Fscanln(r, &n)
var s []string = make([]string, n)
for i := 0; i < n; i++ {
fmt.Fscanln(r, &s[i])
}
sort.Slice(s, func(i, j int) bool {
if len(s[i]) < len(s[j]) {
return true
} else if len(s[i]) == len(s[j]) {
return s[i] < s[j]
} else {
return false
}
})
for i := range s {
if i > 0 && s[i-1] == s[i] { //똑같은 값이 입력될 때 출력시키기 위함
continue
}
fmt.Fprintln(w, s[i])
}
}
728x90
'BOJ > Go' 카테고리의 다른 글
[Go] BOJ / 1934번 / 최소공배수 (0) | 2023.04.12 |
---|---|
[Go] BOJ / 10989번 / 수 정렬하기 3 (0) | 2023.04.12 |
[Go] BOJ / 10815번 / 숫자 카드 (0) | 2023.04.11 |
[Go] BOJ / 10814번 / 나이순 정렬 (0) | 2023.04.11 |
[Go] BOJ / 1427번 / 소트인사이드 (0) | 2023.04.05 |