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

【解答付き】paizaスキルチェックの日付セット「閏年の判定(Dランク)」を解説!

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

この記事では

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

スキルチェックレベルアップ問題集をわかりやすく解説します!

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

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

他のレベルアップ問題集の解答と解説も紹介しているので

ぜひご参考ください!

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

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

スポンサーリンク

閏年の判定 (paizaランク D 相当)の解答と解説

今回の問題は「閏年の判定 (paizaランク D 相当)」です。

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

閏年の判定 (paizaランク D 相当)

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

必要な知識
  • 入力を受け取る
  • str型からint型に変換
  • 割り切れるかで条件を課す
  • うるう年か判定
  • 結果を出力

それぞれ詳しく解説します。

入力を受け取る

まずは「入力を受け取る」です。

今回の問題では1行目に入力される西暦を使って閏年か判定します。

そのためまずは1行目の入力を受け取る方法について解説します。

pythonではinput関数を使って、入力を受け取ります。

# 西暦の入力を受け取る
year = input()

入力の方法については、こちらをご参考ください!

str型からint型に変換

次は「str型からint型に変換」です。

input関数で受け取った入力値は

例え数字であってもstr型として変数に代入されます。

以降の処理がstr型では実行できないので

int関数を使って、str型からint型に変換しなければなりません。

# 西暦の入力を受け取る
year = input()

また入力の際にint型に変換すると、変数の数が増えないためシンプルです。

# 1行目の入力を受け取りint型に変換
year = int(input())

変数の型については、こちらをご参考ください!

割り切れるかで条件を課す

次は「割り切れるかで条件を課す」です。

数値が特定の値で割り切れるかどうかを知るには

%を使って割り算の余りが0になるかどうかを計算します。

# 入力される西暦を受取り、int型に変換
year = int(input())

# 余りを計算
result = year % 400

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

うるう年か判定

次は「うるう年が判定」です。

うるう年か判定するには

3つの条件を課して条件分岐をしなければなりません。

うるう年かどうか判定
  • 400で割り切れるか
  • 100で割り切れないか
  • 4で割り切れるか

2つ以上の条件での条件分岐ではif elif else文を使用します。

ここで大切なのが条件を課す順番です。

複数の条件分岐を課す時は

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

今回の問題だと

最も限定的なのが「400で割り切れるか」

その次に「100で割り切れないか」

最後が「4で割り切れるか」です。

# 400で割り切れる場合
if year % 400 == 0:

# 100で割り切れる場合
elif year % 100 == 0:

# 4で割り切れる場合
elif year % 4 == 0:

# 上記以外の場合
else:

なぜ「限定的な条件」を先にするのでしょうか?

例えば、「100で割り切れないかどうか」の条件を

最初に課した場合を考えます。

# 100で割り切れる場合
if year % 100 == 0:

# 400で割り切れる場合
elif year % 400 == 0:

# 4で割り切れる場合
elif year % 4 == 0:

else:

この場合、「100で割り切れる」には当然

400で割り切れる」も含まれてしまい

800などの400の倍数が平年と判定されてしまいます。

そのため必ず「限定的な条件」から課すようにしましょう。

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

結果を出力

最後は「結果を出力」です。

閏年か判定した結果をprint関数を使って出力します。

# 400で割り切れる場合
if year % 400 == 0:
    # Yesと出力
    print('Yes')
# 100で割り切れる場合
elif year % 100 == 0:
    # Noと出力
    print('No')
# 4で割り切れる場合
elif year % 4 == 0:
    # Yesと出力
    print('Yes')
# 上記以外の場合
else:
    # Noと出力
    print('No')

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

閏年の判定 (paizaランク D 相当)の解答

全てまとめると「閏年の判定 (paizaランク D 相当)」の解答は以下です。

''' 入力される西暦を受取りint型に変換する '''
year = int(input())

if year % 400 == 0: # 400で割り切れる場合
    print("Yes")
elif year % 100 == 0: # 100で割り切れる場合
    print("No")
elif year % 4 == 0:  # 4で割り切れる場合
    print("Yes")
else:
    print("No")

この問題はDランク相当ですが

複数の条件分岐が必要な少し難易度の高い問題です。

このような少し複雑な問題を解く時は

コードを書く前にまず処理の流れをイメージするのがおすすめです。

ぜひご参考ください!

スポンサーリンク

まとめ

今回はpaizaのスキルチェックのレベルアップ問題集の中で

  • 日付セット:閏年の判定 (paizaランク D 相当)

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

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をコピーしました