未分類

アルゴリズム

投稿日:

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

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

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

アルゴリズムとは

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

-未分類

執筆者:


comment

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

関連記事

no image

二日目

今日はどうしても書きたいものがあるので書かせてください。 まず一つ目、テックキャンプがついに終わりました、、!2ヶ月半プログラミング漬けだったわけですけれども、終わってみると案外あっという間でした。オ …

no image

Swift3

 今日は構造体とクラスの概念から学びはじめました。Swiftでは構造体とクラスで処理に名前をつけることでこの名前のものにこの処理をしているというのがわかるようにコードを書きます。これをオブジェクト指向 …

no image

typescriptの配列

今日は午前中ずっとコンポーネントへどのように配列として値を渡すのかを考えていました。配列で値を渡さなくてもデータを渡すことができるのですが、記述が助長になり、可読性が低くなってしまいます。可読性が低く …

no image

スマートシティ

 今日は古坂大魔王とニュースピックスの佐々木さんがやっている番組の動画をみました。いろんな専門家を集めて決められた話題について議論をしていくという番組なのですが、今日はスマートシティについてやっていま …

no image

死なないやつら

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