日々精進

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

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

ご無沙汰しています。
久々に勉強の成果など書き連ねていこうと思います。
まずはプログラミングコンテストチャレンジブックの演習をこなしていきます。
言語はRubyを使用します。
今回のお題はこちら

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

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

def isTriangleConditionOK?(edge1, edge2, edge3)
  return edge1 + edge2 > edge3
end

def isTriangle?(length)
  return isTriangleConditionOK?($triangle[0], $triangle[1], $triangle[2]) \
      && isTriangleConditionOK?($triangle[1], $triangle[2], $triangle[0]) \
      && isTriangleConditionOK?($triangle[2], $triangle[0], $triangle[1])
end

lengths.each do |length| 
  if isTriangle?(length)
    puts $triangle #答え
    break
  else
    $triangle.shift
    $triangle.push(length)
  end
end