【Aランクアップコース-2】盤面の情報変更 (paizaランク C 相当)

盤面の情報取得 (paizaランク C 相当)
https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_map_step2

H,W,N = map(int,input().split())
S = [list(input()) for _ in range(H)]
for _ in range(N):
    y,x = map(int,input().split())
    S[y][x] = "#"
for i in range(H):
    print((S[i]))

とりあえず、最初のfor文まではかけたが、
最後、出力するときに配列じゃなくて文字列を出力できない。
どうやってやるんだったか。。。
なんとかこんな感じで出力できた。

H,W,N = map(int,input().split())
S = [list(input()) for _ in range(H)]
for _ in range(N):
    y,x = map(int,input().split())
    S[y][x] = "#"
for j in range(H):
    for i in range(W):
        if i < W-1:
            print(S[j][i],end="")
        else:
            print(S[j][i])

回答は

h, w, n = map(int, input().split())
s = [list(input()) for _ in range(h)]

for _ in range(n):
    y, x = map(int, input().split())
    s[y][x] = "#"

for y in range(h):
    print("".join(s[y]))

1番目のfor文までは同じだが、
最後、joinつかってますね。たしかjoinは連結だった。

使い方としては、最初の””で、タプルをつないで文字列にしちゃうやつ。
これで、出力すれば最初の回答と同じことができる。
私のよりシンプルにかけてますね。
シンプルにかけるようになろう。

ちなみに、前に教えてもらった方法で、こういうふうに書くと
どうなるかというと

h, w, n = map(int, input().split())
s = [list(input()) for _ in range(h)]

for _ in range(n):
    y, x = map(int, input().split())
    s[y][x] = "#"

for y in range(h):
    #この部分をこう書く
    print(*s[y])

こうなります。

# . .
. . .
. . .

ちなみに正解はこう。
つまり、上だと半スペ入っちゃうんですよね。
まあ補足ということで。

#..
...
...