7回目の「オンラインハッカソンに挑戦」を始めていこうと思います。
問題の難易度は結構高めです。
通常は、スクラッチのコードを作成してからPythonのコードを紹介していますが、今回は順序を逆にして、初めにPythonのコードを紹介しようと思います。
イメージが湧いたところでスクラッチのコードを作成していきましょう。
「セーラー服セット」の問題
パッと見、ややこしい問題のように見えますが、よく読めば「複数の入力を受け取る問題」であることが理解できると思います。
さっそく要約していきましょう。
- n(数字を受け取る):入力される単語の数
- s_1(単語の入力を受け取る):2つめはs_2、3つめはs_3に格納
- 出力データ:それぞれの単語を、_(ハイフン)で繋ぐ
(例:s_1=山、s_2=森、s_3=川の場合 -> 山_森_川)
Pythonのコードを見てコードの作り方を想像しよう
上の画像がPythonで作成した正解のコードです。
1行ずつ見ていきましょう。
- 1行目:単語の数の入力を受け取り、変数nに格納
- 3行目:リストという名前の空のリストを作成(単語を格納するため)
- 4〜6行目:単語をn回分入力を受け取り、リストに格納する(繰り返し処理)
- 8行目:それぞれの単語を_で繋いで(join)出力(print)する
自分で作成するのは難しいかもしれませんが、比較的シンプルなコードなので、説明を読むと、理解しやすいのではないでしょうか?
この考え方をもとにスクラッチでコードを作成していきましょう。
この記事の最後にPythonで、たった1行で今回やりたい処理を実装するコードを紹介しますので、楽しみにしていてください。
スクラッチでコードを実装してみよう
まずは、このようなコードを作成することで、やりたい処理が実現出来ます。
(変数名は分かりやすく日本語にしています)
次にリストを使ってみるのも面白いかもしれません。
スクラッチで作るとブロックの数はどうしても多くなってしまいます。
難しそうに見えますが、一行ずつ整理しながら見ていくと理解できると思いますので、頑張ってみてください。
まとめ
上のコードはたった1行のPythonコードです。
これだけで、今回やりたい処理が実現出来てしまいます。
プログラミングってすごいですよね!
さて、これで「オンラインハッカソンに挑戦」の7回目が終了しました。
今回はなかなかの難易度でやりがいがあったと思います。
次回は、もう少し難易度が低くなりますが、頭を使う問題ですので楽しみにしていてください♪( ´θ`)
コメント