LoginSignup
0
0

More than 3 years have passed since last update.

Hackerrankにおける入力テンプレ

Last updated at Posted at 2019-07-24

イントロ

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でよく使う入力の受け取り方を紹介しました。

自分の知らない型の入力が来ても
自分で対処できるように頑張りましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0