# [Retina], 75 bytes ^ A2345678910JQK¶ \G(10|.) $&H $&D $&S $&C Dr` \S+ G1` ^$ No missing cards Input/output is a list of space-separated cards. Output has a leading space. [Try it online!] ### Explanation Most of the code deals with building the full list of cards that should be in the deck: ^ A2345678910JQK¶ \G(10|.) $&H $&D $&S $&C First, we prepend a newline to the input, with all possible values of cards, then for each character of this line (or the couple of characters `10`) we build the list of all possible suits of that card. Dr` \S+ This is a deduplication stage, it splits the string into chunks consisting of a space plus some non-spaces and keeps only one occurrence of each chunk. The modifier `r` makes this operate from right to left, keeping then the _last_ occurrence of each chunk. G1` We keep only the first line, which now contains the missing cards. ^$ No missing cards If the result is empty we replace it with "No missing cards" [Retina]: https://github.com/m-ender/retina [Try it online!]: https://tio.run/nexus/retina#DcNBCsIwEAXQ/ZziL4oogiRpbZplyEBDCoLMtpQWBelChXbruTyAF6uB97aBvCmrc20bp1W6dr8v9e1eq8/pQCh2Medc8kC8jOjlSK0eaSjo8sZzXtf59cBtWu7rtrkIH2EDSoFWgo6RBC7ARDRZgM8EnmEZFcMEJEYtfw "Retina – TIO Nexus"