今回はこれ
https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step4
前回のやつのすべての行の長さが不定であるものを出力せよという問題
たとえば、
4
2 4 3 1
というふうに出力されたら
1 2
1 2 3 4
1 2 3
1
というふうに出力しないといけないという問題。
前回の応用なんだけど、簡単ではある。
ただし、Nを全く使っていない。
N = int(input())
M = input().split()
for j in M:
j = int(j)
for i in range(1,j+1):
if i == j:
print(i)
else:
print(i,end=" ")
なので、ちょっと考える。
すべての行の長さが不定な2次元配列の出力ということから、
おそらく、最初に配列を作っておいてそこから条件に沿って出力するというやり方ではないか?
ではまず、配列を作ってみる
空でN個の要素の配列を作る場合、[0]*N
だ。
そこから配列をつくる。
N = int(input())
M = [0] * N
arr = input().split()
for i in range(N):
M[i] = int(arr[i])
で、そこから、配列をループで出力させてみる
for i in range(N):
for j in range(1,M[i]+1):
if j == M[i]:
print(j)
else:
print(j,end=" ")
と、こんなふうに、MもNも使うことができた。