LoginSignup
0
1

【Paiza問題集】データセットメニュー/動的配列

Posted at

Paiza問題集

Pythonで回答

データセットメニュー/動的配列

Step01 ランダムアクセス

Step01
"""
ランダムアクセス
https://paiza.jp/works/mondai/data_structure/data_structure__array_step1
"""

# 数字を受け取る
N, M = map(int, input().split())

# 数字列を受け取る
A = [int(x) for x in input().split()]

# 表示する
print(A[M-1])

Step02 複数回のランダムアクセス

Step02
"""
複数回のランダムアクセス
https://paiza.jp/works/mondai/data_structure/data_structure__array_step2
"""

# 数字を受け取る
N = int(input())
# 配列に数字を入れる
A = [int(x) for x in input().split()]

# 数字を受け取る
M = int(input())
# 配列に数字を入れる
B = [int(x) for x in input().split()]

# 数字表示する
for i in range(M):
    print(A[B[i]-1])

Step03 最大値と最小値

Step03
"""
最大値と最小値
https://paiza.jp/works/mondai/data_structure/data_structure__array_step3
"""

# 数字を受け取る
li = list(map(int, input().split()))

# 数字を昇順に並び変える
li.sort()

# 差を求めて表示する
print(li[2]-li[0])

Final問題 動的配列

Final問題
"""
動的配列
https://paiza.jp/works/mondai/data_structure/data_structure__array_boss

プログラムの動作
・ 0 x : Aの末尾にxを追加する
・ 1 : Aの末尾を削除する
・ 2 : Aを半角スペース区切りで1行に出力する
"""

# 数字を受け取る
N, Q = map(int, (input().split()))

# 配列に数字を入れる
A = list(map(int, input().split()))


for i in range(Q):
    # 数列を受け取る
    query = list(map(int, (input().split())))

    # 0,1,2を判断する
    cmd = query[0]
    if cmd == 0:
        # 配列の末尾に追加
        A.append(query[1])
    elif cmd == 1:
        # 配列の末尾を削除
        A.pop()
    else:
        # 配列を表示
        print(" ".join(map(str, A)))
0
1
0

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
1