【Ruby】Paizaスキルチェック”Cランク”詰まった所まとめ

プログラミング

こんにちは!ケイマエです。

先日は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とかちらほらあるんですよね(^◇^;)

確実にランクアップ問題より難しそうなんだが・・・。

ということで、またの記事でお会いしましょう!