配列のメソッド
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 61/88。
Rubyは、配列の操作を容易にするいくつかの組み込みメソッドを提供しています。これらのメソッドを使用すると、複雑なコードを自分で書くことなく、要素のソート、反転、検索を行うことができます。
sort メソッドは、要素を昇順に並べ替えます:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # 出力: 1, 1, 3, 4, 5要素の順序を反転させるには、reverse メソッドを使用します:
letters = ["a", "b", "c"]
puts letters.reverse # 出力: c, b, aこれらのメソッドを組み合わせて、降順でソートすることができます:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # 出力: 95, 92, 85, 78min メソッドと max メソッドは、最小値と最大値を素早く見つけます:
prices = [29, 15, 42, 8]
puts prices.min # 出力: 8
puts prices.max # 出力: 42数値要素の合計を計算するには、sum を使用します。
quantities = [2, 5, 3]
puts quantities.sum # 出力: 10sort と reverse は、元の配列を変更せずに新しい配列を返すことに注意してください。元の配列を直接変更するには、sort! や reverse! のように、メソッド名に ! を追加します。
チャレンジ
簡単カンマ区切りの整数を含む1行の入力を読み取ります(例:5,2,8,1,9,3)。
入力を整数の配列に分割し、以下の内容をそれぞれ別の行に出力してください:
- 昇順にソートされた配列(各要素を個別の行に表示)
- 降順にソートされた配列(各要素を個別の行に表示)
- 最小値
- 最大値
- すべての要素の合計
わかりやすくするために、各セクションの間に空行を出力してください。
例えば、入力が 5,2,8,1,9,3 の場合、出力は以下のようになります:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28入力が 10,30,20 の場合、出力は以下のようになります:
10
20
30
30
20
10
10
30
60入力が 7,3,5,1 の場合、出力は以下のようになります:
1
3
5
7
7
5
3
1
1
7
16チートシート
Rubyは配列を操作するための組み込みメソッドを提供しています:
sortメソッドは、要素を昇順に並べ替えます:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # 出力: 1, 1, 3, 4, 5reverseメソッドは、要素の順序を反転させます:
letters = ["a", "b", "c"]
puts letters.reverse # 出力: c, b, aメソッドを組み合わせて降順にソートします:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # 出力: 95, 92, 85, 78minメソッドとmaxメソッドは、最小値と最大値を見つけます:
prices = [29, 15, 42, 8]
puts prices.min # 出力: 8
puts prices.max # 出力: 42sumメソッドは、数値要素の合計を計算します:
quantities = [2, 5, 3]
puts quantities.sum # 出力: 10注意:sortとreverseは、元の配列を変更せずに新しい配列を返します。元の配列を変更するには、sort!またはreverse!を使用してください。
自分で試してみよう
# カンマ区切りの整数を読み込む
input = gets.chomp
# TODO: 以下にコードを記述してください
# 1. 入力を整数の配列に分割する
# 2. 配列を昇順にソートし、各要素を出力する
# 3. 空行を出力する
# 4. 配列を降順にソートし、各要素を出力する
# 5. 空行を出力する
# 6. 最小値を出力する
# 7. 最大値を出力する
# 8. すべての要素の合計を出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。