We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
Just kidding. Yes, it works, but I derived the one-liner from my initial solution. My solution uses simple sets, so it's easier to understand than regular expressions and much, much faster…
import sys
import string
upper = set(string.ascii_uppercase)
digit = set(string.digits)
alnum = set(string.ascii_letters) | digit
N = int(input())
uids = map(lambda u: set(u.strip()), sys.stdin.readlines()[:N])
for u in uids:
if (len(u & alnum) == 10 and
len(u & upper) >= 2 and
len(u & digit) >= 3):
print('Valid')
else:
print('Invalid')
I think the omission of regex from my solution is OK. This section of challenges is titled "Regex and Parsing". It parses the input, so it's a legitimate solution.
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Validating UID
You are viewing a single comment's thread. Return to all comments →
Of course, the solution to this simple problem is a one-liner (not counting
import
s)…Just kidding. Yes, it works, but I derived the one-liner from my initial solution. My solution uses simple sets, so it's easier to understand than regular expressions and much, much faster…
I think the omission of regex from my solution is OK. This section of challenges is titled "Regex and Parsing". It parses the input, so it's a legitimate solution.