728x90
10845
코드
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
var t int
fmt.Fscanf(reader, "%d\n", &t)
var stack []string
for {
input, _, _ := reader.ReadLine()
input = append(input, '\n')
for _, s := range input {
if string(s) == " " || string(s) == "\n" {
for j, _ := range stack {
fmt.Fprint(writer, string(stack[len(stack)-(j+1)]))
}
fmt.Fprintf(writer, " ")
writer.Flush()
stack = nil
} else {
stack = append(stack, string(s))
}
}
fmt.Fprintf(writer, "\n")
writer.Flush()
t = t - 1
if t == 0 {
return
}
}
}
고의 슬라이스로 큐를 흉내 내봤다.
파이썬 경우 리스트로 구현하면 느려지고 큐를 사용하고 싶을땐 덱을 사용해야 한다고 한다.
나중에 array로 구현하고 benchmark 하면 태워봐야겠다.
그리고 궁금한건 array 구현하면 크기가 정해져 있는데.. 큐라는것은 항상 크기가 정해져 있어야하는건가? 에 대해 궁금하다..
728x90