AtCoder Beginner Contest 096 C - Grid Repainting 2 【Python】

https://atcoder.jp/contests/abc096/tasks/abc096_c

AtCoder ProblemsのRecommendationで Difficulty: 407、Solve Probability: 52%でした。

一つずつ#のマスを見ていって上下左右に隣り合うマスに#あるかどうかで判定しました。

H, W = map(int, input().split())
S = []
for i in range(H):
    s = input()
    S.append(s)
for i in range(H):
    for j in range(W):
        count = 0
        if S[i][j] == '#':
            for i2, j2 in [[i+1, j], [i-1, j], [i, j+1], [i, j-1]]:
                # 範囲内でなければ無視する。
                if not (0 <= i2 < H and 0 <= j2 < W):
                    continue
                if S[i2][j2] == '#':
                    count += 1                
            if count == 0:
                print('No')
                exit()
print('Yes')