【現役エンジニアならFizzBuzz問題なんて余裕なのか検証してみたをやってみた】、この道、10年選手の自分が解いてみた結果、2つの解になることになりました。でも自分はかなり緊張するタイプなのでこういう場ではなんかミスりそうです。2つの解になる理由は15の時、5の倍数でも3の倍数でもあり15の倍数でもあるからです。これに疑問をもつはずなのですが・・・。皆、言わなかったところが日本人的だなと感じました。因みに自分はこういう疑問を言うタイプです、なので衝突が上と起こるのかなと思います・・・。
尚、自分は3分ぐらいです。コードを書くより誰かに書いてもらいたい(^_^;)、もっとタイピングが早くなれば2分ぐらいで書けると思います?ではおつおつでした。
<?php
$ary1 = [];
$check1 = function ($hoge) {
$str = [];
if ($hoge % 3 === 0) {
$str[] = "Fizz($hoge)";
}
if ($hoge % 5 === 0) {
$str[] = "Buzz($hoge)";
}
if ($hoge % 15 === 0) {
$str[] = "FizzBuzz($hoge)";
}
if (!count($str)) {
$str[] = $hoge;
}
return implode(",",$str);
};
$ary2 = [];
$check2 = function ($hoge) {
$str = [];
if ($hoge % 15 === 0) {
$str[] = "FizzBuzz($hoge)";
}elseif($hoge % 5 === 0){
$str[] = "Buzz($hoge)";
}elseif($hoge % 3 === 0){
$str[] = "Fizz($hoge)";
}
if (!count($str)) {
$str[] = $hoge;
}
return implode(",",$str);
};
for ($i = 1; $i <= 100; $i++) {
$ary1[($i-1)] = $check1($i);
$ary2[($i-1)] = $check2($i);
}
print implode(",", $ary1).PHP_EOL;
print implode(",", $ary2).PHP_EOL;