>>18
私自身初心者なので模範コードは示せませんが、each_indexで処理すると

array[0] #=> aaaなので削除 結果 array = [ bbb, accc, addd, aeee ]
array[1] #=> acccなので削除 結果 array = [ bbb, addd, aeee ]
array[2] #=> aeeeなので削除 結果 array = [ bbb, aeee ]

という理由ではないでしょうか。