今回のお題はこちら。
この問題解いてて知ったんだけど、変数の値の入れ替えを↓のように書けるのはかなり嬉しいですね。
a,b = b,a
入れ替え以外にも複数の代入文を一つにまとめるとわかりやすくなる場合がありました。
これは今後も使っていきたい。
L = [8,5,8] #input $l = L.sort ans = 0 while($l.length > 1) i1st = 0 i2nd = 1 $l[i1st], $l[i2nd] = $l[i2nd], $l[i1st] if $l[i1st] > $l[i2nd] for i in 2..($l.length - 1) i1st, i2nd = i, i1st if $l[i] < $l[i1st] i2nd = i if $l[i] < $l[i2nd] end ans += $l[i1st] + $l[i2nd] $l[i1st] = $l[i1st] + $l[i2nd] $l.delete_at(i2nd) end puts ans