未分類

アルゴリズム

投稿日:

ビンゴカードのプログラムが完成できたのでそのアウトプットをしていきます。

リーチとビンゴの数を出力

ビンゴボールクラスとカウントビンゴクラス、ビンゴカードクラスで分けて作成し、ビンゴカードクラスにビンゴボールクラスとカウントビンゴクラスを継承させ、それらのメソッドをビンゴカードクラス内でも扱えるようにしました。ビンゴカウントクラスでリーチ数とビンゴ数をカウントするのですが、このクラス内でビンゴ列の縦に穴が開いている数、横に穴が空いている数、斜めに空いている数をカウントするクラス変数を定義しビンゴカードクラス内でビンゴボールで穴が空いた数にテェックを入れる処理のところで場合わけをして先のクラス変数の値を変化させました。最後にカウントビンゴクラス内でcount_reachメソッドとcount_bingoメソッドで先のクラス変数の値が4の時にリーチ数を+1、5の時にビンゴ数を+1をカウントしてそれを出力する記述をすれば完成です。

アルゴリズムとは

アルゴリズムとは問題を解く際の方法や手順のことです。まず線形探索法と二分探索法を学びました。例えばある人がいてこの人の年齢は20歳以上36歳未満でyesかnoを答えることができて、四回の質問で答えを出すという問題があるとします。この時に20歳ですか?21歳ですか?とかたっぱしから質問をして確実に解を導こうとするものが線形探索法で、今回の場合では最高16回質問をしないといけないのでアルゴリズムとして適正ではありません。そこで20~35の半分の値のところ、28歳未満ですか?と質問をしてその次の質問でも同じように半分のところで質問を繰り返しどの年齢の場合でも4回で解を導き出すことができます。このようにアルゴリズムは問題によって変更し、より効率的に解を求めるように改善するのです。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

仮説思考

前回まで仮説思考がビジネスにおいて問題解決する際に効率的だというところまで見てきました。網羅的に要件を洗い出していては時間にかぎりのあるビジネスにおいては非効率である程度最初から結論を決めておいてそれ …

no image

キャッチボール

今日はとてもいい日で、数年ぶりにキャッチボールをしました。ひょんな事から父と一緒に姫路城にいくことになったのですが、父のバッグの中にはなんとグローブが入っていたのです。久しぶりにちゃんと見た姫路城はと …

no image

ハードボイルドワンダーランド

 最近は寝る前の読書タイムで、村上春樹の世界の終わりとハードボイルドワンダーランドを読んでいます。この本は二回目なのですが、前よりも面白く読めていると思います。前読んだときは不思議だなという感想で頭の …

no image

死なないやつら

 今日面接を3つこなしました。もうだいぶ慣れてきたのでイージーモードなのですが、なかなか内定を獲得することができません。あと少しだと思うのでこのまま頑張りたいと思います。あ、一つ内定をいただいたのです …

no image

プログラミング(就活編)

 最近将来のことで悩んでいます。なので今日はプログラミングではなく今考えていることを書きたいと思います。まず、なぜ働かないといけないのか。この答えとしては個人的な考えで述べると、生活できるのであれば働 …