日々精進

新しく学んだことを書き留めていきます

プログラミングコンテストチャレンジブック演習「三角形」2

三角形を作れるかどうかは3辺のうち小さい2辺の合計が大きい1辺より大きいことを確認するだけでいいなということに気付いたので
前回のコードを以下のように書き直しました。
めっちゃシンプルになった!こういうときすごく嬉しいですね。

lengths = [10, 2, 3, 4, 5] #input

lengths.sort!{|a, b| b <=> a}
$triangle = [lengths.shift, lengths.shift, lengths.shift]

lengths.each do |length| 
  if $triangle[2] + $triangle[1] > $triangle[0]
    puts $triangle #答え
    break
  else
    $triangle.shift
    $triangle.push(length)
  end
end