ビジネスとIT活用に役立つブログBlog


FizzBuzz問題をPHPで解いてみよう【応用編】

この記事をシェアする:

前回の記事では、最もメジャーな基本的なプログラミング問題である「FizzBuzz問題」について紹介しました。

FizzBuzz問題をPHPで解いてみよう

今回は「ズンドコキヨシ」、「キヨシチェック」、「ズンドコチェック」などと呼ばれる日本版「FizzBuzz」のようなユニークな問題を解いていきたいと思います。

「ズンドコキヨシ」とは

  • 「ズン」「ドコ」のいずれかをランダムで出力し続ける
  • 「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」と出力して終了する

この記事を執筆時に動作検証を行った筆者の環境

PHP 7.0.14 (cli)

「ズンドコキヨシ」をPHPで実装してよう

実行結果(別サイトが開きます)
http://sandbox.onlinephpfunctions.com/code/8d5848659f3f1a124a1228ca667143fa61014b26

※「Execute code」ボタンを押すと実行結果が表示されます。

オリジナル版「西郷どん」

筆者は「西郷どん」が大好きです。
その中でも「大山格之助」の同意を促す方言「じゃっ、じゃっ」が大好きです。
「大山格之助」の「じゃっ、じゃっ」をPHP実装してみましょう。

要件定義

  • 誠忠組(幕末の薩摩藩に存在した藩内組織)の苗字、名前、敬称をランダムに出力する
  • ランダムに出力した苗字、名前、敬称に「大山格之助さぁ」が現れたら「じゃっ、じゃっ」と出力して終了する

実装してみよう

今回はクラス化してみました。

実行結果(別サイトが開きます)
http://sandbox.onlinephpfunctions.com/code/8ca758dfd158e07f9ade0aa26b81cdb52d3f62c5

※「Execute code」ボタンを押すと実行結果が表示されます。

要件追加

  • 誠忠組の苗字、名前、敬称をランダムに出力する
  • ランダムに出力した苗字、名前、敬称に「大山格之助さぁ」が現れたら「じゃっ、じゃっ」と出力して終了する
  • ランダムに出力した苗字、名前、敬称が「西郷吉之助どん」「大久保一蔵どん」「有馬新七さぁ」「大山格之助さぁ」のどれかに含まれていたら「じゃっ、じゃっ」と出力して終了する

実行結果(別サイトが開きます)
http://sandbox.onlinephpfunctions.com/code/c8fe86b1d40b32231bec5344436cd9285b39bd37

※「Execute code」ボタンを押すと実行結果が表示されます。

さいごに

いかがでしたでしょうか?
FizzBuzz問題を応用して、自ら解いてみるのもプログラミングならではの楽しみ方です。

アーティスでは共にプログラミングができる素敵なプログラマを募集中です!
プログラマ募集情報はこちら

The following two tabs change content below.

アーティス

創造性を最大限に発揮するとともに、インターネットに代表されるITを活用し、みんなの生活が便利で、豊かで、楽しいものになるようなサービスやコンテンツを考え、創り出し提供しています。

この記事のカテゴリ:

SNSで最新の情報を
受け取ることができます!