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

【解答付き】paizaスキルチェックの戦セット「【競技4】明日天気にな~れ!(Dランク)」を解説!

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

この記事では

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

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

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

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

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

ぜひご参考ください!

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

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

スポンサーリンク

【競技4】明日天気にな〜れ! (paizaランク D 相当)の解答と解説

今回の問題は「【競技4】明日天気にな〜れ! (paizaランク D 相当)」です。

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

【競技4】明日天気にな〜れ! (paizaランク D 相当)

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

必要な知識
  • 入力を受け取る
  • str型からint型に変換
  • 文字列の一致を判定
  • 処理を繰り返す
  • 結果を出力

それぞれについて解説します。

入力を受け取る

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

今回の問題では、1行目に入力された値の回数だけ

2行目以降に入力される「靴の向き」に

対応する「天気」を出力します。

そのためまずは「入力を受け取る」処理が必要です。

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

# 入力を受け取る
num = input()

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

str型からint型に変換

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

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

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

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

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

# 入力を受け取る
num = input()

# int型に変換
int_num = int(num)

また入力の際にint型に変換するとよりシンプルです。

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

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

文字列の一致を判定

次は「文字列の一致を判定」です。

今回の問題では、入力された靴の向きが

forward, reverse, sidewaysのどれと等しいかを

判定しなければなりません。

2つの値が等しいかどうかは==を使って条件を課します。

# 靴の向きの入力を受け取る
result == input()

# "forward"と等しいかの条件
result == "forward"

今回は条件が2つ以上なので、if elif else文を使って条件分岐を行います。

# 靴の向きの入力を受け取る
result == input()

# "forward"の場合
if result == "forward":

# "reverse"の場合
elif result == "reverse":

# "sideways"の場合
else:

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

処理を繰り返す

次は「処理を繰り返す」です。

今回の問題では1行目に入力された数だけ

2行目以降に「靴の向き」が入力されます。

そのため「靴の向きに対応する天気を出力」処理を

繰り返し行う必要があります。

処理を繰り返す場合は、以下のようにfor文を使います。

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

# n回処理を繰り返す
for _ in range(num):
    # 靴の向きの入力受け取る
    result = input()

また1行目の入力をそのままrange関数に代入すると

よりシンプルに書くことが出来ます。

# 1行目で入力された数だけ繰り返す
for _ in range(int(input())):
    # 靴の向きの入力受け取る
    result = input()

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

結果を出力

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

靴の向きに対応する天気をprint関数を使って出力します。

# 天気を出力
print("Sunny")

【競技4】明日天気にな〜れ! (paizaランク D 相当)の解答

まとめると「【競技4】明日天気にな〜れ! (paizaランク D 相当)」の解答は以下です。

# 1行目で入力された数だけ繰り返す
for _ in range(int(input())):
    # 靴の向きの入力受け取る
    result = input()

    # "forward"の場合
    if result == "forward":
        # "Sunny"と出力
        print("Sunny")

    # "reverse"の場合
    elif result == "reverse":
        # "Rainy"と出力
        print("Rainy")

    # "sideways"の場合
    else:
        # "Cloudy"と出力
        print("Cloudy")

今回の問題はDランク相当にもかかわらず

for文if文を両方使用する難易度の高い問題でした。

しかしCランク以降ではほとんどの問題で

if文とfor文を組み合わせる必要があるので

ここでしっかりと確認しておきましょう!

スポンサーリンク

まとめ

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

  • 【競技4】明日天気にな~れ! (paizaランク D 相当)

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

Dランクの問題のため、非常に簡単ではありますが

高ランクの問題で必要になる知識が豊富に含まれています。

しっかりと理解しランクアップを目指していきましょう!

また他の問題についての解説も、ぜひご参考ください!

タイトルとURLをコピーしました