こんにちは!ケイマエです。
先日はDランクの詰まった所まとめでしたが、今回はCランクの詰まった所をまとめました。
と言っても規約上コード転載できないため、調べたメソッドなどのまとめになります。
さっそく行きましょう!!
【Ruby】Paiza Cランクで調べたメソッドなどまとめ【7選】
find_index メソッド
ある配列で最初に一致する引数の文字列の配列番号を返します。
例: array = ["s", "d", "f", "g"] puts array.find_index("g") → 3を返します
each_with_index メソッド
配列を繰り返すeach文に、indexとして番号をつけることができます。
例: array = ["s", "d", "f", "g"] array.each_with_index do |a, index| if index == 0 puts a → "s"を返します end end
each文で繰り返すときにn回目の処理を指定したりすることができます。indexは0からカウントされます。
maxメソッド、minメソッド
max は最大の要素、min は最小の要素を返します。また引数に数字を入れると、大きい順(小さい順)にその数分返します。
例: array = [1, 2, 3, 4] puts array.max → 4 を返します puts array.max(2) → 4, 3 を返します
floorメソッド、ceilメソッド
floor は切り捨て。ceil は切り上げです。ちなみにround は四捨五入です。
例: 1.4.floor → 1 を返します 1.4.ceil → 2 を返します
While 文
基本的なwhile文ですが、自分が仕様を理解できていなかったので載せました。
例: i = 1 while i < 5 do → whileとdoの間の条件式がtrueの場合繰り返される puts i i += 1 end → 1, 2, 3, 4 と順に返します
なぜか自分は i == 4 みたいな感じで書いてエラーになってました・・・。はずっ笑
10進数から2進数への変換 .to_s(2)
.to_s は数字などを文字列にするメソッドですが、引数に2を入れることで2進数に変換できます。
2進数とは
「0」と「1」の組み合わせで表現される数字
であり
「0」「1」「10」……のように、それぞれの桁の数字が「2」になると桁上がりする数字のこと
です。
例: 255.to_s(2) → 11111111 を返します 10.to_s(2) → 1010 を返します
正直よく分からないです・・・。とりあえずこれで変換できるということだけ覚えた!
番外編 約数の求め方
例: 24の約数を求める i = 1 a = [] while i < 24 do if 24 % i == 0 a << i → i で割り切れる場合に配列に加えていく end i += 1 end puts a → 配列a に1, 2, 3, 4, 6, 8, 12 が入っている
約数を求めるメソッドがありそうでなかったため、このようにして求めることができるということがわかりました!
以上になります。
Cランクになっていろいろなメソッドを使うと思いましたが、思ったよりなかったですね〜。
結局は考え方(プログラミング脳)が大事ですね〜。
そろそろBランクアップの問題やろうと思ってるんですが、Cランクでも難易度1900とかちらほらあるんですよね(^◇^;)
確実にランクアップ問題より難しそうなんだが・・・。
ということで、またの記事でお会いしましょう!