add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent 886b5e0a8e
commit 67cad91898
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
47 changed files with 1549 additions and 1 deletions

View file

@ -0,0 +1,41 @@
package q394
import "strings"
func decode(s string) (int, string) {
advanced := 0
number := 0
buf := strings.Builder{}
Loop:
for advanced < len(s) {
advanced++
cur := s[advanced-1]
switch {
case cur >= '0' && cur <= '9':
number = 10*number + int(cur-'0')
case cur == '[':
adv, child := decode(s[advanced:])
advanced += adv
for range number {
buf.WriteString(child)
}
number = 0
case cur == ']':
break Loop
default:
buf.WriteByte(cur)
}
}
return advanced, buf.String()
}
func decodeString(s string) string {
_, ret := decode(s)
return ret
}
var _ = decodeString