visits = %w[ CS CA SOB ABO OBD LDO AOL ] result = {} visits.each do |visit| chars = visit.chars chars.each do |char| result[char] ||= [] result[char] += chars - [char] end end result.each do |k, v| puts '%s: %s' % [k, v.join(', ')] end
Standard input is empty
C: S, A S: C, O, B A: C, B, O, O, L O: S, B, A, B, B, D, L, D, A, L B: S, O, A, O, O, D D: O, B, L, O L: D, O, A, O