こんにちは、ナナオです。
前回に引き続き競プロを実施していきたいと思います。
今回の問題は以下です。
実装
以下のように実装しました。
package main
import (
"fmt"
)
func main() {
var s string
fmt.Scan(&s)
same := true
u := true
d := true
for i := 1; i < len(s); i++ {
if u && s[i] - s[i - 1] != 1 {
u = false
}
if d && s[i - 1] - s[i] != 1 {
d = false
}
if same && s[i - 1] != s[i] {
same = false
}
}
if same || u || d {
fmt.Println("dangerous")
} else {
fmt.Println("safe")
}
}
sameが同じ文字かどうかの判定、uが単純な増加かどうかの判定、dが単純な減少かどうかの判定です。
ということで今回はこれで👍