func blockable(str) { var blocks = [ "BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS", "JW", "HU", "VI", "AN", "OB", "ER", "FS", "LY", "PC", "ZM" ] var strUp = str.Upper() var fin = "" for c in strUp { for j in blocks.Indices() { if blocks[j].StartsWith(c) || blocks[j].EndsWith(c) { fin += c blocks[j] = "" break } } } return fin == strUp } func canOrNot(can) => can ? "can" : "cannot" for str in [ "A", "BARK", "BooK", "TrEaT", "comMON", "sQuAd", "Confuse" ] { print("\"\(str)\" \(canOrNot(blockable(str))) be spelled with blocks.") }