Task
A media access control address (MAC address) is a unique identifier assigned to network interfaces for communications on the physical network segment.
The standard (IEEE 802) format for printing MAC-48 addresses in human-friendly form is six groups of two hexadecimal digits (0 to 9 or A to F), separated by hyphens (e.g. 01-23-45-67-89-AB
).
Your task is to check by given string inputString
whether it corresponds to MAC-48 address or not.
Example
-
For
inputString = "00-1B-63-84-45-E6"
, the output should be
isMAC48Address(inputString) = true
; -
For
inputString = "Z1-1B-63-84-45-E6"
, the output should be
isMAC48Address(inputString) = false
; -
For
inputString = "not a MAC-48 address"
, the output should be
isMAC48Address(inputString) = false
.
Input/Output
-
[execution time limit]
4 seconds (py3) -
[input] string inputString
Guaranteed constraints:15 ≤ inputString.length ≤ 20
. -
[output] boolean
true
ifinputString
corresponds to MAC-48 address naming rules,false
otherwise.
My Solution
def isMAC48Address(inputString):
inputS = inputString.split('-')
valid = [str(i) for i in range(10)] + ['A', 'B', 'C', 'D', 'E', 'F']
if len(inputS) == 6:
for element in inputS:
if len(element) == 2 and (element[0] in valid) and (element[1] in valid):
continue
else:
return False
return True
return False