본문 바로가기

Algorithm/Code Fights (Code Signal)

Aracade Intro #11 IsLucky

CodeFights, CodeSignal


Arcade #11 IsLucky



 If the sum of half of digits is equal to the sum of second half, 

it's true, or false.


 자릿수가 짝수개인 정수를 입력받고,

앞자리 절반의 자릿수 합과 뒷자리 절반 자릿수의 합이 같으면 true, 아니면 false


e.g. 


 123321 -> true    1 + 2 + 3 = 3 + 2 + 1

 1230 -> true        1 + 2 = 3 + 0

 124582 -> false    1 + 2 + 4 != 5 + 8 + 2

 124214 -> true

 123456 -> false



//Process

//1. Input int

//2. Get length of input int (alway even number)

//3. Iterate from begin to end and end to begin till meet each index

// 2.1. Add each sum

//4. Compare each digitSum is the same

//5. Return answer


//처리과정

//0. 정수 입력받는다

//1. 입력 받은 수의 자릿수를 구한다(항상 짝수)

//2. 자릿수 절반까지 반복한다.

// 2.1. 뒤에서부터 떼어내어 각 자릿수 합을 구한다.

//3. 나머지 자릿수 절반을 반복한다.

// 3.1. 뒤에서부터 떼어내어 각 자릿수 합을 구한다.

//4. 각각의 자릿수 합을 비교해서

// 4.1. 같으면 isLucky 는 true

//5. 결과 출력한다.

 


bool isLucky(int n) {

    

    int tempInput = n;

    

    int digitSum1 = 0;

    int digitSum2 = 0;

    

    int digitLength = 1;

    int quotient = tempInput / 10;

    while (quotient != 0) {

        digitLength++;

        quotient /= 10;

    }

    

    int length = digitLength / 2;

    for (int i = 0; i < length; ++i) {

        digitSum1 += tempInput - tempInput / 10 * 10;

        tempInput /= 10;

    }

   

    for (int i = 0; i< length; ++i) {

        digitSum2 += tempInput - tempInput / 10 * 10;

        tempInput /= 10;

    }

    

    return (digitSum1 == digitSum2);

}



다른 문제들도..


2018/10/03 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #10 CommonCharacterCount

2018/09/26 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #9 AllLongestStrings

2018/09/24 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #8 MatrixElementsSum

2018/09/23 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #7 AlmostIncreasingSequence

2018/09/22 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #6 MakeArrayConsecutive2

2018/09/21 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #5 ShapeArea

2018/09/19 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #4 AdjacentElementsProduct

2018/09/16 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #3 CheckPalindrome

2018/09/16 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #2 CenturyFromYear

2018/09/16 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #1 Add