考えて競プロする

プログラミングコンテストの問題をどう考えて解いたかを記録していくブログです。使用言語はPython3

ABC062-B - Picture Frame を解く

ABC062-B - Picture Frame

 

'#' で与えられた文字列を囲って出力する問題

サクッと実装していきたい

 

ポイントとしては

与えられた文字列の横幅 W を枠で囲った後の横幅は W+2 になる、という点

 

つまり、一番上は '#' を W+2 個並べればいい。一番下についても同様だ

これで上下が '#' に挟まれた状態が再現できる

 

また、与えられる文字列の前後に '#' を付けてあげれば

両側が '#' に挟まれた状態が再現できる

 

以上を踏まえて書いたコードを以下に示す

 

提出したコード

# 入力
H,W=map(int,input().split())

# 最上段
l=['#'*(W+2)]

for i in range(H):
  s=input()
  l.append('#'+s+'#')

# 最下段
l.append('#'*(W+2))

# 出力
for x in l:
  print(x)
 

提出結果はACでした