#!/usr/bin/ruby func check_perm(arr) { (var hash = Hash.new){arr...} = +([1]*arr.len)... arr.each { |s| s.len.times { var t = (s.substr(1) + s.substr(0, 1)) hash.has_key(t) || return t; } } } var perms = %w(ABCD CABD ACDB DACB BCDA ACBD ADCB CDAB DABC BCAD CADB CDBA CBAD ABDC ADBC BDCA DCBA BACD BADC BDAC CBDA DBCA DCAB); var missing_perm = check_perm(perms); assert_eq(missing_perm, 'DBAC'); say "** Test passed!";