URL: CodeSignal
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] 3 seconds (java)
- [input] string inputString
Guaranteed constraints:
15 ≤ inputString.length ≤ 20
. - [output] boolean
true
ifinputString
corresponds to MAC-48 address naming rules,false
otherwise.
boolean isMAC48Address(String inputString) { String[] str = inputString.split("-"); if(str.length != 6 || inputString.length()!=17 ) return false; for(int i = 0; i<str.length; i++){ if(str[i].length() >2) return false; if(!Character.isDigit(str[i].charAt(0))&&(str[i].charAt(0) < 'A' || str[i].charAt(0) >'F')) return false; if(!Character.isDigit(str[i].charAt(1))&&(str[i].charAt(1) < 'A' || str[i].charAt(1) >'F')) return false; } return true; }