Aracade Intro #47 isMAC48Address. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
Q.
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.
Media Access Controll Address ( MAC Address ) 는 네트워크 물리계층에서 소통을 위한 네트워크 인터페이스로 유니크한 식별자이다.
MAC-48 address 출력을 위한 인간친화적인 형태의 IEEE 802 정식 규격은 2개의 16진수 숫자로 6개 세트로 되어있다. (0~ 9 또는 A~ F), 하이픈(-) 으로 분리되어있다 (예시, 01-23-45-67-89-AB)
주어진 문자열에서 이게 MAC-48 주소의 형식에 맞는지 확인해봐라
e.g.
Input -> inputString = "00-1B-63-84-45-E6"
Output -> isMAC48Address(inputString) = true;
Input -> inputString = "Z1-1B-63-84-45-E6"
Output -> isMAC48Address(inputString) = false;
Input -> inputString = "not a MAC-48 address"
Output -> isMAC48Address(inputString) = false.
//Process
//1. Input string
//2. Check if inputString's length is 17 (MAC length)
//3. Iterate from begin to the end
// 3.1. If index is multiple of 3, then check if it's hyphen
// if not -> check if it's hexa char or number
//4. Return result bool
//처리과정
//1. 문자를 입력받는다.
//2. 길이가 17인지 확인해서 아니면 false
//3. 시작부터 끝까지 반복한다.
// 3.1. 글자위치는 16진수 숫자이나 글자인지 확인하고
// 3의 배수 위치는 하이픈인지 확인한다.
//4. 결과를 출력한다.
Code.. Lemme see code!!!!!
코드.. 코드를 보자!!!!!
bool isMAC48Address(std::string inputString) {
bool answer = false;
if (inputString.size() == 17)
{
bool isFalse = false;
for (int i = 0; i < inputString.size() && isFalse == false; ++i)
{
if ((i+1) % 3 == 0)
{
if (inputString.at(i) != '-')
{
isFalse = true;
}
}
else
{
if ((inputString.at(i) < 65 || inputString.at(i) > 70) &&
(inputString.at(i) < 48 || inputString.at(i) > 57))
{
isFalse = true;
}
}
}
if (!isFalse)
{
answer = true;
}
}
return answer;
}
Something else you might like..
2018/12/20 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #44 findEmailDomain. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
2018/12/17 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #43 isBeautifulString. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
2018/12/16 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #42 bishopAndPawn. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
2018/12/14 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #41 digitDegree. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
2018/12/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #40 longestDigitsPrefix. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
2018/12/10 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #39 knapsackLight. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
2018/12/20 - [Programming/Java] - How to convert file to byte array (byte[]) example, 파일 객체 바이트로 변환하기 예제코드, java/cpp/c++/scalar
2018/12/18 - [Programming/Java] - How to access controller from existing Pane in JavaFX, pane에서 해당 controller로 접근하기, java/cpp/c++/fx/gui
2018/12/13 - [Computer/Linux] - How to check ongoing live process on Linux cmd, 리눅스 커맨드창에서 어떤 프로세스가 실행중인지 확인하기, java, ubuntu, cpp
2018/12/16 - [Life/Health care] - L-Arginine 아르기닌 usage/side effects/dosage 효능/부작용/성인,소아 용법(2)
2018/12/06 - [Life/Health care] - Vitamin C 비타민 씨 usage/side effects/dosage 용법/효능/부작용
2018/12/02 - [Life/Health care] - Maca 마카 usage/side effects/dosage 효능/부작용/용법