こんにちは、ナナオです。
前回に引き続き競プロを実施していきたいと思います。
今回の問題は以下です。
マップの判定・縦 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】
実装
前回の実装を応用すればできますね。
package main
import "fmt"
func main(){
var h, w int
fmt.Scan(&h, &w)
s := make([]string, h)
for i := 0; i < h; i++ {
fmt.Scan(&s[i])
}
isWall := func(x, y int) bool {
if y < 0 || y >= h {
return true
}
return s[y][x] == '#'
}
for y := 0; y < h; y++ {
for x := 0; x < w; x++ {
if isWall(x, y - 1) && isWall(x, y + 1) {
fmt.Println(y, x)
}
}
}
}
簡単に実装できました。