前提・実現したいこと
AtCoder Beginner Contest 113 B - Place の問題を解いていたのですが、
以下の操作を求められました。
(操作)
array = [34, 76, 88, …, 28, 55]
のような順不同な配列の中で最小値となるindex番号を出力しなさい。
自分なりに解答を作成してACは頂いたのですが、もっと簡単に出力できる方法があればご教示願いたいです。
AtCoder Beginner Contest 113 B-Placeへのリンク
該当のソースコード
Ruby
1N = gets.chomp.to_i 2T, A = gets.chomp.split(" ").map(&:to_f) 3heights = gets.chomp.split(" ").map(&:to_f) 4 5temps = [] #平均気温との差を入れるための配列作成 6def ave_temp_difference(t) #平均気温との差を計算する関数 7 (A - (T - t * 0.006)).abs 8end 9 10heights.each do |height| #全要素で平均気温との差を計算し、配列に収納 11 temps << ave_temp_difference(height) 12end 13 14ans = 0 #合致するindex番号を探索する準備 15temps.each do |temp| #合致するindex番号を探索する処理 16 ans += 1 17 if temp == temps.min 18 break 19 end 20end 21puts ans #合致したindex番号を表示する
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/21 10:51