見出し画像

【コードが書けないQAエンジニアがコードが書けるQAエンジニアになるまでの話】paizaスキルチェックDランク100本ノック

みなさんこんにちは!honaminです。
2022年の1月もあと1時間で終わりです。2022年も爆速で時間が過ぎていく予感…少しも無駄にできませんね!といいつつお昼寝大好き人間ですみません。

この1月はpaiza転職のプログラミングスキルチェックをひたすらこなしていました!成長しているかどうかは???ですが、こういうときはif文、こういうときは繰り返し!とちょっとだけ慣れてきた気だけします。100本ノックの名に違わず、192問解きましたw

記録として学びポイントを残しておこうと思います。

標準入力

外部入力などで得られた値をプログラム内で利用する場合に使います。入力された値は文字列として取得されるので、数値として使いたい場合は型を直してあげます。

p gets.chomp #=> "1"
p gets.chomp.to_i #=> 2 整数へ変換
p gets.chomp.to_f #=> 3.0 浮動点少数へ変換


---入力---------------
1
2
3

chompは改行コードを削除して取得するよーという意味です。

入力が複数の場合

もちろん入力が複数となる場合もあるので、その場合は入力方法によって取得の仕方が異なります。また、複数の値が入力された場合は配列として取得されます。

” ”(半角スペース)などの区切り文字で区切られている場合

p gets.chomp.split(" ") #=> ["1", "2", "3"]

---入力---------------
1 2 3

この場合、1つ1つ数値に修正するのは面倒なので、取得した配列をさらにmapして、数値にしてあげます。配列の全ての要素に〇〇できるのがmapです。

p gets.chomp.split(" ").map(&:to_i) #=> ["1", "2", "3"]

---入力---------------
1 2 3

1列目に入力される値の個数、2列目以降に入力される値が並ぶ場合

入力される値の個数をaに代入して、その数分getsを繰り返します。

a = gets.chomp.to_i
a.times do
    p gets.chomp.to_i #=> 1/n2/n3
end
---入力---------------
3 #入力される値の個数
1
2
3

繰り返しの処理

〇回繰り返すが決まっている

繰り返す回数が決まっている場合は、times do がシンプルなのでよく使っています。

i = 0
5.times do
    i += 1
end
p i #=> 5 

配列の要素分繰り返したい

配列の要素分繰り返したい場合はeach doを利用します。

array = [1, 2, 3]
array.each do |n| #配列の要素
    n += 1
    p n #=> 2/n3/n4
end

まとめ

こんな感じで、標準入力から繰り返し処理、またif文も含めてぽちぽち192問ノックしていました⚾このまえにハッシュの勉強もしていたのですが、もうすっかり忘れました()

もう一度復習して、次はランクCのスキルチェックに向かいます👼

あと1問はどこに…


この記事が気に入ったらサポートをしてみませんか?