第25回【Python】i番目の出力 1、i番目の出力 2、【次元配列の入出力】i番目の出力 Boss
現在取り組んでいるのは、paiza ラーニング問題集「配列メニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
Python をゼロから勉強してみよう、のコーナー 25 回目です。
地道に続けて 25 回。真面目に地道にが身上なので、いけるところまで続けていきたいと思っています。目指せ 30 回! 目標はとても低い。
それでは、今日も頑張ってみようと思います。
i番目の出力 1
整数 K が与えられます。
数列 a が
1 3 5 4 6 2 1 7 1 5
で与えられるとき、数列 a の K 番目の要素を出力してください。
添字がゼロから始まることに注意しろ、問題でしょうか。
Python
K = int(input())
L = [1, 3, 5, 4, 6, 2, 1, 7, 1, 5]
print(L[K - 1])
VBA
K = Cells(1, 1)
L = Array(1, 3, 5, 4, 6, 2, 1, 7, 1, 5)
Debug.Print L(K - 1)
i番目の出力 2
1 行目に整数 K が与えられます。
2 行目に 10 個の整数 a_i (1 ≤ i ≤ 10) が半角スペース区切りで与えられます。
K 番目の要素 a_K を出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
* K は 1 以上 10 以下の整数
* a_i は 1 以上 100 以下の整数
入力例
5
8 1 3 1 3 8 3 8 1 1
今度は数字の配列も標準入力から与えられるらしい。
Python
K = int(input())
A = input().split()
print(A[K - 1])
VBA
K = Cells(1, 1)
A = Split(Cells(2, 1), " ")
Debug.Print A(K - 1)
【次元配列の入出力】i番目の出力 Boss
1 行目に整数 N と整数 K が与えられます。
2 行目に N 個の整数 a_i (1 ≤ i ≤ N) が半角スペース区切りで与えられます。
K 番目の整数 a_K を出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
* N は 1 以上 100 以下の整数
* K は 1 以上 N 以下の整数
* a_i は 1 以上 100 以下の整数
入力例
8 3
3 1 8 1 3 8 8 1
要素数 N 個の N が問題でしょうか。N がなくても答えられる問題なわけですし。
Python
N,K = map(int,input().split())
A = input().split()
print(A[K - 1])
回答確認したら「N の情報がなくてもリストを生成できます」って記載があった。N の情報がないと対応できない言語もあるということで、Python って楽だなぁ。
VBA
S = Split(Cells(1, 1), " ")
K = Val(S(1))
A = Split(Cells(2, 1), " ")
Debug.Print A(K - 1)
VBA でも N の情報がなくても回答を導き出すことができました。
最後に
やり方は幾つもあって、いろんなパターンに対応できるようにしておくことが大事なんだと思う。引き出しがいっぱいあった方が何かと役に立つ。
今回やったものも、基本的には string 型で扱っていて、厳密には正解といっていいのかどうか不安な点もある。入力値の条件としては「整数」と明記されているわけだから。Python の場合は、出力は文字列で問題ないのだけれど、VBA になると明確な違いが生じる。
細かいところまでつきつめていくと、・・・やっぱり面白いなぁと思います。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません