Open1

Paizaの問題をRubyで解くときのTips

freetechfreetech

入出力

基本的な入力

N = gets.to_i #単体の整数
ary = gets.split.map(&:to_i) #スペース区切りの複数の整数、splitはデフォルトがスペース
ary = N.times.map{gets.to_i} #縦に並んだ複数の整数
S = gets.chomp #文字列。改行を切る

以下のように、1行に複数の整数が渡されるとき

N
a_1 b_1
a_2 b_2
...
a_N b_N

以下のように列ごとに配列を作ることができる。

N = gets.to_i
a, b = N.times.map {gets.split.map(&:to_i)}.transpose
#=>[a_1, a_2, ...], [b_1, b_2, ...]

以下のような入力からハッシュを作る。
3
taro 15
hanako 8
kenta 7

n = gets.to_i
hash = n.times.map{gets.split}.to_h.transform_values(&:to_i)
#=>{taro => 15, hanako => 8, kenta => 7}