簡単 0件解決済み 正答率0%

Fizz Buzz

3と5で割り切れるかどうかを使って数列を作成します。

このチャレンジで学べること

  • 3 と 5 で割り切れるか調べる
  • if/else の分岐を正しい順序に並べる
  • ループで結果のリストを作る

問題

原文(英語)を表示

1からlimitまでの各整数について、3の倍数の場合はFizz、5の倍数の場合はBuzz、両方の倍数の場合はFizzBuzzとします。それ以外の場合は数字を文字列として使います。出力は表示せず、順番通りにリストとして返してください。

fizz_buzz(limit) を実装してください。

入力

limit: 含める最後の整数。

出力

1からlimitまでの各整数に対応する文字列のリストを返してください。

制約

0 ≤ limit ≤ 10,000。limitが0の場合は空のリストを返してください。

例

例 1
入力:
limit = 5

期待される出力:
expected = ["1", "2", "Fizz", "4", "Buzz"]
入力:
long long limit = 5;

期待される出力:
std::vector<std::string> expected = {"1", "2", "Fizz", "4", "Buzz"};
入力:
long limit = 5;

期待される出力:
string[] expected = new string[] {"1", "2", "Fizz", "4", "Buzz"};

解説

3は3で割り切れ、5は5で割り切れます。他の要素はそのまま数字を使います。

例 2
入力:
limit = 0

期待される出力:
expected = []
入力:
long long limit = 0;

期待される出力:
std::vector<std::string> expected = {};
入力:
long limit = 0;

期待される出力:
string[] expected = new string[] {};

解説

1から0までの整数は存在しないため、リストは空になります。

解き方のヒント

まずは自分で考えてから、ヒントを 1 つずつ開いてみましょう。

ヒント 1

各位置は、その整数が3と5で割り切れるかだけで決まる。

ヒント 2

各数について両方の条件を確認し、順に結果リストへ追加する。

ヒント 3

下限に注意。limitが0なら、答えは空のリスト。

目安の計算量

時間 O(n)、追加メモリ O(n)

参考資料

この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。

他の人の解答から学ぶ

コミュニティの解答

まだ公開された解答がありません。この課題を解いて最初の解答を共有しましょう。