見出し画像

ABC352 振り返りの時間

いつも読んでくださりありがとうございます。初めましての方はここまで来てくださりありがとうございます。
今回もAtCoderに参加させていただいたので感想と振り返りをしていきます。
今回参加させていただいたコンテストです。↓
AtCoder Beginner Contest 352 - AtCoder


A問題

入力値が4個渡されその値に応じて出力するようです。
これはXとYの範囲内にZが含まれるかで考えてよさそうです。
そのためNは考慮しておりません。
XとYの関係性について、XがYより小さい場合、そうでない場合に分けてIF文で分岐させます。
その後処理文を書きましょう。
今回の処理文は「XとYの範囲内にZが含まれるか」なので<=を使いYesかNoかを出力させました。
完成です。

B問題

入力値は2個です。
それぞれ文章になっており、間違い探しをするようです。
説明するのが難しいですが、説明します。
カウントを初期化します。上の入力値に対して一文字合っていたら何文字目か出力、カウントを増加させ、カウントの数が上の入力の文字数と一致するまで続けるというコードをかきました。
下の入力値での間違いはカウントしないということです。

C問題

今回はC問題を解くことができました。大変うれしいです。
入力値は行数、(入力値1,入力値2)*行数です。
入力例、出力例を見る限りこれは入力値2-入力値1が一番大きいものを最上部に立たせるらしいです。また、最上部以外のものは入力値1で考えるようです。この最上部以外のものはどう並び替えてもよさそうです。(順番により変化しないため)
なのでfor文で処理する際に配列追加と同時に入力値1を合計に対して加算をします。forが終わったら配列内で入力値2-入力値1が最大のものを引っ張ってきます。それの入力値2を合計に加算、合計からその行内の入力値1を引きます。
最後に合計の出力を行い終了です。
今回のC問題はアルゴリズムもなく個人的に取り組みやすかったです。

D問題(解いていません)

D問題は問題文を見ましたがまだ解けませんでした。アルゴリズムをもっと学ぶ必要があるとわかり収穫でした。

終わり

読んでくださりありがとうございました。
まだ学習中で使用できないアルゴリズム(動的計画法とか木とかグラフとか)については時間を見つけて学習し、問題が解けるようになればいいなと思っております。
この記事が皆様の役に立つことができればとてもうれしいです。
疑問点、改善点等ありましたらコメントにてよろしくお願いします。
この記事が役に立ち、いいと思ったらスキ機能もございます。

この記事が気に入ったらサポートをしてみませんか?