CodeIQの「進捗はいいゼットマーク」解答

CodeIQの「進捗はいいゼットマーク」を解いたので、私が作成したコードを晒します。

8月17日の10時に回答締切なので、ネタバレを避けるためそれ以降に投稿しています。

www.kato-eng.info

設問

「進捗はいいゼットマーク」は高さ X 幅 X の正方形の中にZのカタチをしたの文字を半角小文字の「z」で描きます。
1行目と最終行はすべてが「z」に。2行目から最終行の前の行までは対角線が「z」になります。
それ以外を半角ドット「.」にします。

例1:高さ1幅1の進捗はいいゼットマーク

z

例2:高さ3幅3の進捗はいいゼットマーク

zzz
.z.
zzz

例3:高さ5幅5の進捗はいいゼットマーク

zzzzz
...z.
..z..
.z...
zzzzz

仕様

  • 標準入力として1から100の数字が与えられる。
  • 標準入力の数字が奇数の場合には「進捗はいいゼットマーク」を出力する。
  • 標準入力の数字が偶数の場合には「invalid」を出力する。

解答

言語はPython3を選択しました。

import fileinput
def print_all_z(count):
for dummy in range(count):
print("z", end="")
print("")
def print_seq_z(seq, count):
for i in range(count):
if i == count - (seq + 1):
print("z", end="")
else:
print(".", end="")
print("")
for temp_count in fileinput.input():
count = int(temp_count)
if count % 2 == 0:
print("invalid")
else:
for seq in range(count):
if seq in [0, count - 1]:
print_all_z(count)
else:
print_seq_z(seq, count)

コメント

タイトルとURLをコピーしました