じゃんけんってもっと簡単に書けないの?
配列に出した手をいれて、uniqして2つにならなければあいこでしょ。
uniqして2つになったらどっちが勝つかは分かるんだから、負けた人を
消していくだけだと思うんだけど、lambdaや再帰を使えばそれこそ
ワンライナーでもいけるんじゃね。