CodeIQ:連続する数字で作る回文数

私自身が表題の問題を解いた時のプログラムについて解説します。
問題の詳細は「【誕生日問題12月】ジェット機をプレゼント」(CodeIQ)を参照してください。

問題の概要

問題を引用します。
問題
あなたは誕生日プレゼントとして、ジェット機をもらえることになりました。
もらえるジェット機は、組み立て式です。胴体、右翼、左翼の部品を組み合わせると、1つのジェット機が作れます。
各部品は、整数で表されており、胴体が0、右翼が1、左翼が2という値です。
部品を組み合わせて、最大何機のジェット機を組み立てられるか、計算するプログラムを書いてください。


以下、入力の例です。
数字は標準入力から、改行で区切られた文字として渡されます。
0
1
0
2
1
0
2
1

以下、出力の例です。「0, 1, 2」の組みが最大2個作れるので、「2」となります。
答えは、以下のように標準出力に出力してください。
2

私のプログラム

Rubyで解答しています。

#!/usr/bin/ruby

# main
inputs = [0,0,0]
while line = gets
	line.strip!
	if line.empty? then next end

	inputs[line.to_i] += 1
end

p inputs.min

解説

別に解説は不要な気が……。

main

入力値を添え字とした配列を用意して、その添え字の値の入力値の数をカウントし、最小の数を返すだけです。

雑感

何か以前にも同じような問題があった気がします。