0
0

すべての行の長さが不定な 2 次元配列の出力

Last updated at Posted at 2023-11-16

今回はこれ
https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step4
前回のやつのすべての行の長さが不定であるものを出力せよという問題
たとえば、

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も使うことができた。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0