はじめに
こんにちは。将棋と筋トレが好きな、学生エンジニアのゆうき(@engieerblog_Yu)です。
エンジニアになりたい方は入社テストやインターンのコーディングテストなどで、FizzBuzz問題にお目にかかることが多いんではないでしょうか?
FizzBuzz問題はプログラミング的思考を身につける問題として、とても良いと思うので今回は記事にしていこうと思います。
FizzBuzz問題とは?
FizzBuzz問題とは、スタックオーバーフローの共同経営者であるJeff Atwoodが提唱した問題です。
プログラマ志願者がコーディングができるか見分けるためによく使われます。
FizzBuzz問題の問題はこちらです。
1から100までの数字を出力するプログラミングを書いてください。ただし、数字が3の倍数の時は数字の代わりにFizzと出力し、5の倍数の時は数字の代わりにBuzzと出力し、3と5の倍数のときは、FizzBuzzと出力すること。
Python入門 FizzBuzz問題を解いてみよう!
ゆうき
どんなコードを書けばいいのか、少し考えてみてくださいね。
実装コード
それでは実装していきます。
for i in range(1,101):
if i % 3 == 0 and i % 5 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
output:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
プログラミング的思考のコツ
問題を見たときに、無意識にこのようなことを考えることができると良いです。
3の倍数かつ5の倍数→FizzBuzz
3の倍数→Fizz
5の倍数→Buzz
それ以外→数字を出力
場合分けがあるので、if文とfor文が必要だということがわかると思います。
終わりに
プログラマの間ではいかに短いコードで実装するか、「%」記号を使わずに実装する、などの制約をつけて解いている方も多いみたいです。
FizzBuzz問題が解ければ立派なプログラマーになるための、入り口に立ったと言えるでしょう。
それではまた次回の記事でお会いしましょう。
ねこすけ
他にもいろんな投稿があるにゃ。
コメント