長期投資シミュレーションツール『Tousimu』をリリースしました!

【解答付き】paizaスキルチェックの見本問題「Fizz Buzz(Cランク)」を解説!

プログラミング
スポンサーリンク

この記事では

プログラミング学習サービスpaizaラーニング

スキルチェック見本問題をわかりやすく解説します!

プログラミング言語はpythonです。

今回はCランク相当の以下の問題を解説します。

他のレベルアップ問題集の解答と解説も紹介しているのでぜひご参考ください!

またpaizaの各ランクの攻略法は

こちらで詳しく紹介しているので、ぜひご参考ください!

スポンサーリンク

Fizz Buzz (paizaランク C 相当)の解答と解説

今回の問題は「Fizz Buzz (paizaランク C 相当)」です。

問題はこちらからご確認ください。

Fizz Buzz (paizaランク C 相当)

この問題を解くのに必要な知識は5つです。

必要な知識
  • 入力を受け取る
  • str型からint型に変換
  • 1から順番に整数を出力
  • 倍数かどうかで条件を課す
  • 適切な順番で条件分岐

この記事では、上記の5つの中で

  • 1から順番に整数を出力する
  • 指定された値の倍数かどうかで条件を課す
  • 適切な順番で条件分岐を行う

の3つを詳しく解説します。

残りの

については、以下の記事をご参考ください!

1から順番に整数を表示

まずは「1から順番に整数を表示」です。

今回の問題は、入力された値までの整数を1から順番に出力し

その値に対して条件分岐を行います。

そのため「1から順番に整数を表示する」処理が必要です。

この処理はrange関数for文を使って、以下のように書けます!

# 入力を受取り、int型に変換
N = int(input())

# N回処理を繰り返す
for num in range(N):
    # numに1を加える 
    print(num+1)

"""
1から順番に整数を出力
1
2
3
︙
N
"""

繰り返す数値numは0から始まるため

1を加えるのを忘れないようにしましょう!

for文については、こちらをご参考ください!

倍数かどうかで条件を課す

次は「倍数かどうかで条件を課す」です。

今回の問題では出力する値が

  • 3の倍数
  • 5の倍数
  • 3の倍数かつ5の倍数

のいずれかの場合に対して条件分岐が必要です。

「ある値の倍数」は、「ある値で割り切れる」と言い換えられるので

%を使って、割り算の余りを計算し条件を課します。

# 3の倍数の条件
num % 3 == 0

では「3の倍数かつ5の倍数」の条件はどのように書けばいいでしょうか。

今回の場合3と5の最小公倍数は15であるため

15で割り切れるかが条件になります。

# 3の倍数かつ5の倍数の条件
num % 15 == 0

また「最小公倍数を考えるのが面倒」な方は

「3の倍数」と「5の倍数」の条件を

and演算子を使って掛け合わしても問題ありません。

# 3の倍数かつ5の倍数の条件
num % 3 == 0 and num % 5 == 0

割り算などの四則演算については、こちらをご参考ください!

適切な順番で条件分岐

次は「適切な順番で条件分岐」です。

今回の問題では出力する値が

  • 3の倍数
  • 5の倍数
  • 3の倍数かつ5の倍数

のいずれかの場合に対して条件分岐を行います。

条件分岐はif elif else文を使いますが

ここで重要なのが条件を課す順番です。

複数の条件を課す時は、

先に「限定的な(狭い)条件」から課すようにしましょう。

今回の問題だと

最も限定的なのが「3の倍数かつ5の倍数」

その次に「3の倍数」と「5の倍数」です。

# 3の倍数かつ5の倍数
if num % 15 == 0:
   print("Fizz Buzz")

# 3の倍数
elif num % 3 == 0:
   print("Fizz")

# 5の倍数
elif num % 5 == 0:
   print("Buzz")

# その他
else:
   print(num)

もし「3の倍数」や「5の倍数」の条件を先に課してしまうと

当然「3の倍数かつ5の倍数」の場合も含まれてしまうので

正しく出力されません。

# 3の倍数
if num % 3 == 0:
   # 3の倍数かつ5の倍数ときも出力されてしまう
   print("Fizz")

# 3の倍数かつ5の倍数
elif num % 15 == 0:
   # 出力されない
   print("Fizz Buzz")

# 5の倍数
elif num % 5 == 0:
   print("Buzz")

# その他
else:
   print(num)

条件を課す順番はif文を使う時にエラーを起こしやすいポイントの1つです。

必ず注意するようにしましょう!

if文については、こちらをご参考ください!

Fizz Buzz (paizaランク C 相当)の解答

まとめると「Fizz Buzz (paizaランク C 相当)」の解答は以下です。

# 入力を受取り、int型に変換
N = int(input())

# N回処理を繰り返す
for num in range(N):
    # 1を加える
    num += 1
    
    # 3の倍数かつ15の倍数
    if num % 15 == 0:
       print("Fizz Buzz")

    # 3の倍数
    elif num % 3 == 0:
       print("Fizz")

    # 5の倍数
    elif num % 5 == 0:
       print("Buzz")

    # その他
    else:
         print(num)
   

この問題では、「for文とif文の組み合わせ」が必要になりました。

しかしここまで解説したように、処理を分割し一つ一つを見ていくと

基本通りの内容で特に難しいものは無かったと思います。

ぜひ他の問題も処理の流れをイメージし

分割した上で問題に取り組んでいきましょう!

スポンサーリンク

まとめ

今回はpaizaのスキルチェック見本問題の中で

  • Fizz Buzz (paizaランク C 相当)

の解答と解説を紹介しました。

Cランクの問題からは必ずif文またはfor文が登場し

Dランクの問題に比べて、コードが複雑になります。

そのためコードを書き始める前に

頭の中で処理の流れをイメージをしてから書いていくのがおすすめです!

また他のレベルアップ問題集の問題についての解説も、ぜひご参考ください!

Pythonを学びたいと思っているけど

  • プログラミングスクールに数十万円も払えない・・・
  • 独学だとどうやって学んだらいいかわからない・・・
  • Pythonのインストールや環境構築がよくわからない・・・

といったお悩みを抱えている方はいませんか?

Pythonの学習はオンライン学習サービスのPyQがおすすめです!

PyQ

PyQの特徴は圧倒的なコストパフォーマンスで

たった月額3,040円で以下のPythonに関する内容が学び放題です!

PyQで学べる内容
  • プログラミングの基本
  • Python入門〜中級
  • ユニットテスト、設計
  • Webアプリ開発
  • Django(Pythonを使ったWebアプリ開発のフレームワーク)
  • スクレイピング
  • データ解析
  • 機械学習
  • 統計入門
  • アルゴリズム

またブラウザ上でコードを書いて学習できるため

面倒なPythonのインストールや環境構築なども一切不要です!

実際に私もプログラミングを始めた頃に利用していて

PyQを一通りやり終えた後は

  • Djangoを使ったポートフォリオの制作
  • スクレイピングによる作業の自動化
  • ディープラーニング

などのプログラムを自分で書けるようになり

paizaのスキルチェックでもSランクを所得しました!

PyQは登録後すぐに学習を開始できるので

Pythonの学習方法でお悩みの方は、今すぐPyQで学習をスタートしましょう!

しかし

  • 独学で挫折した経験がある・・・
  • 短期間でpythonを習得したい!
  • プロのエンジニアからpythonを学びたい!

という方は、PyQでの独学よりも

プログラミングスクールでの学習が最適かもしれません!

pythonが学べるおすすめのプログラミングスクールはこちら!

TechAcademy Pythonコース

おすすめスクールNo.1:TechAcademy Pythonコース

TechAcademyがおすすめな理由
  • 学習システムを1週間無料で体験できる!
  • 完全オンラインだから、忙しくても続けられる!
  • 各受講生に現役エンジニアのメンターがつく!

DIVE INTO CODE エキスパートAIコース

おすすめスクールNo.2:DIVE INTO CODE エキスパートAIコース

DIVE INTO CODEがおすすめな理由
  • 本気の人のためのスクール!事前テストで選考あり!
  • 無料説明会&体験セミナーあり!
  • 通学 or オンラインが選択できる!

CodeCamp Pythonデータサイエンスコース

おすすめスクールNo.3:CodeCamp Pythonデータサイエンスコース

DIVE INTO CODEがおすすめな理由
  • 無料体験レッスン受講で10,000円引き
  • 受講者数30,000人超えの圧倒的な実績!
  • レッスン満足度96.6%

ぜひ自分に合った学習方法でPythonを習得しましょう!

プログラミング paizaでSランク!
スポンサーリンク
Follow Me!
スポンサーリンク
まろぶろぐ
タイトルとURLをコピーしました