こんにちは、ナナオです。
前回に引き続き競プロを実施していきたいと思います。
今回の問題は以下です。
実装
以下のように実装しました。
package main
import (
"fmt"
"strconv"
)
func isNum(r byte) bool {
if 10 > int(r - '0') && int(r - '0') >= 0 {
return true
}
return false
}
func main() {
var t, s string
fmt.Scan(&t)
i := 0
for ; i < len(t); {
j := 1
for ; i+j < len(t); j++ {
if !isNum(t[i+j]) {
break
}
}
n, _ := strconv.Atoi(t[i+1:i+j])
for k := 1; k <= n; k++ {
s += string(t[i])
}
i += j
}
fmt.Println(s)
}
割と時間かかってしまいました。
文字が数値かどうか判定するための関数を実装して、次の文字が数値か判定して繋ぎ合わせるみたいな感じです。
ということで今回はこれで👍