盤面の情報取得 (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は連結だった。
- Python String join() Method
https://www.w3schools.com/python/ref_string_join.asp
使い方としては、最初の””で、タプルをつないで文字列にしちゃうやつ。
これで、出力すれば最初の回答と同じことができる。
私のよりシンプルにかけてますね。
シンプルにかけるようになろう。
ちなみに、前に教えてもらった方法で、こういうふうに書くと
どうなるかというと
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])
こうなります。
# . .
. . .
. . .
ちなみに正解はこう。
つまり、上だと半スペ入っちゃうんですよね。
まあ補足ということで。
#..
...
...