ITP1_4_D Min, Max and Sum
さて、最近は何だか環境構築記録みたいになってましたが、別のPCからAOJの記録でも書いてみる。
前回のAOJの記事からすでに半月ほど経過していました(滝汗)
ITP1_4_C Simple Calculator@Ruby - るびらな!
というわけで、今日の問題はこちら #=> 最小値, 最大値, 合計値 | プログラミング入門 | Aizu Online Judge
問題
最小値、最大値、合計値
n 個の整数 ai(i=1,2,...n)を入力し、それらの最小値、最大値、合計値を求めるプログラムを作成してください。
Input
1行目に整数の数 n が与えられます。2行目に n 個の整数 ai が空白区切りで与えられます。
Output
最小値、最大値、合計値を空白区切りで1行に出力してください。
なるほど、最初の整数の数は、Rubyではいらない気がするけど、まぁいっか。
自分のコード
i = gets.to_i nums = gets.split.map(&:to_i) sum = 0 cnt = 0 i.times do sum = sum + nums[cnt] cnt += 1 end print nums.sort.first," ",nums.sort.last," ",sum,"\n"
なんとも無駄が多くて美しくないコードですが、これで一応実行速度は最速タイ。
他の人のコード
見た目がきれいな人
x = gets a = gets.split.map(&:to_i) puts [a.min, a.max, a.inject(:+)].join " "
あ、うん。こういうコードが書きたかった。
なんで、あんなに汚くなっちゃったんだろう…