dev/algorithm
BOJ / 1181๋ฒ / ๋จ์ด ์ ๋ ฌ [Go]
crscnt
2020. 7. 17. 06:14
๐ฉ๐ป๐ป ๋ฌธ์
1181๋ฒ: ๋จ์ด ์ ๋ ฌ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1≤N≤20,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 50์ ๋์ง ์๋๋ค.
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 words = make([]string, n)
for i := 0; i < n; i++ {
fmt.Fscanln(reader, &words[i])
}
sort.Slice(words, func(i, j int) bool {
if len(words[i]) < len(words[j]) {
return true
} else if len(words[i]) == len(words[j]) {
return words[i] < words[j]
} else {
return false
}
})
for i := 0; i < n; i++ {
if i > 0 && words[i-1] == words[i] {
continue
}
fmt.Fprintln(writer, words[i])
}
}
728x90