#イントロ
hackerrankを解くとき必ずと言って数字や文字列を受け取ります。
慣れてしまえば使いこなせますが、最初はよくわからないと思います。
今回はそんな方に僕が使っているテンプレを紹介します。
プログラミング初心者のため間違いや、非効率的なものもありますが、お手柔らかにお願いします。
#1行の文字列、数字
1行の文字列や数字を受け取る場合は単純です。
文字列の場合は
a = input()
整数の場合、少数の場合は順に
>```
a = int(input())
a = float(input())
とすることで入力を受け取ることができます。
#複数個の入力
例えば
1 2 3 4 5
と5つの数字を同時にリストとして受け取りたい場合は
>```
a = list(map(int, input().strip().split()))
print(a)
>>>[1, 2, 3, 4, 5]
map は第一引数に関数の種類(ここではint型)、第二引数に対象リスト(ここでは入力された要素)を受け取ります。一つずつ要素を受け取っていきます。
僕のイメージとして後に述べるfor分と似てます。
#複数行の入力
例えばn個の文字列を受け取るとき・・・
n=2の時のフォーマットは
2
hacker
rank
となります。
この文字列をリストとして受け取りたい場合は、
>```
n = int(input())
a = []
for _ in range(n):
a.append(input())
print(a)
>>>["hacker", "rank"]
として受け取ることができます。
まずnで受け取る分の個数を受け取ります。
次に文字列を入れる空のリストaを用意します。(a = [])
そしてfor文でn回一つずつ要素を受け取り、同時にappend()でリストaに追加しています。
#まとめ
以上、hackerrankでよく使う入力の受け取り方を紹介しました。
自分の知らない型の入力が来ても
自分で対処できるように頑張りましょう。