본문 바로가기

Algorithm/Code Fights (Code Signal)

Aracade Intro #47 isMAC48Address. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

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 효능/부작용/용법