Codility: Lesson 1 - BinaryGap problem solution in c#  

by ne on 2021-09-22 under Algo tagged with algorithm codility

 public int solution(int N)
        {
            var binaryString = GetBinaryString(N);
            var startCounting = false;
            int tempCount = 0;
            int maxCount = 0;
            for (int i = 0; i < binaryString.Length; i++)
            {
                if (startCounting && binaryString[i] == '0')
                {
                    tempCount++;
                }
                if (binaryString[i] == '1')
                {
                    startCounting = true;
                    
                    if (maxCount < tempCount)
                    {
                        maxCount = tempCount;
                    }
                    tempCount = 0;
                }
            }
            return maxCount;
        }

        private string GetBinaryString(int N)
        {
            string binary = "";
            var temp = N;
            while (temp != 0)
            {
                binary += temp % 2;
                temp = temp / 2;
            }
            string original = "";
            for (int i = binary.Length - 1; i >= 0; i--)
            {
                original += binary[i];
            }
            return original; 
        }