こんにちは、情報系大学生のハル(Blog_IT_haru)です。
今回は、paizaラーニングの、データセット選択メニューの第1回、ランダムアクセスについて解説していきます。
サンプルコードも掲載してありますので、勉強の参考にしていただければと思います。
また、私自身も初心者であるため、今後解けない問題が出てきた際は記事の更新が滞るかもしれませんが、ご了承下さい。
すぐコードを見たい方は以下のもくじから、サンプルコードで見ることができます。
問題
問題の閲覧・回答は以下のページで行えます。
問題の引用
以下は、上記ページより引用させていただきました。
入力される値
N M入力値最終行の末尾に改行が1つ入ります。
A
文字列は標準入力から渡されます。
期待する出力答えの数値を出力してください。
N末尾に改行を入れ、余計な文字、空行を含んではいけません。
条件すべてのテストケースにおいて、以下の条件をみたします。
* N, M は 1 以上 100 以下
* 1 ≦ M ≦ N
* A の各要素の値は 1 以上 100 以下
- 入力例1
5 2
1 2 3 4 5
- 出力例1
2
- 入力例2
3 3
7 8 9
- 出力例2
9
解説
この問題は、配列を用いて解く問題です。
入力される値のNは、配列の要素数、Mは、配列の添字、Aは、配列に入る値が指定されています。
出力される値は、配列[添字M]の値です。
では、コードを書いていきましょう。
サンプルコード
わかりやすいように、問題文の文字そのままで変数を設定しました。
まず、全て整数であるので、int型で変数を宣言します。
その後、scanfを用いて、NとMを読み込みます。
また、配列Aは、問題文より、要素数が100個までとわかっているので、A[100]と宣言します。
そして、配列にfor文を用いてAの値を読み込んでいきます。
この時、for文用の変数iは1からスタートします。
0からにすると正しく出力されません。
また、条件も、i<Nではなく、i<=Nであることにも注意しましょう。
ここまでできたらもうゴール間近です。
printfで、A[M]を出力して完了です。
【プログラミング備忘録】#1 C言語で合計値を求める【0から始めるアルゴリズム】【初級】【入門】 - ハルの初心者プログラミング部
【プログラミング備忘録】#2 C言語で最大値を求める【0から始めるアルゴリズム】【初級】【入門】 - ハルの初心者プログラミング部
まとめ
いかがでしたか?
C言語でpaizaラーニングの問題集の記事を書いている方が中々いなかったので、これからちょくちょく書いていけたらな、と思います。
これは私のアウトプットでもありますし、更に誰かのお役に立てたら幸いです。
この記事がいいな、と思ってくれたら、SNSなどで拡散したり、
ブックマークやコメントなどしてくれると励みになります!
更に、読者になってくれたら、お返しに私も読者になります!
また、この記事の内容についてなにかありましたら、
お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。
それでは。