꼼시월드

[codility] Binary Gap 본문

iOS

[codility] Binary Gap

꼼시 2023. 2. 22. 11:54
/// max binary gap 구하기
func maxBinaryGap(_ input: Int) -> Int {
    let binaryString = String(input, radix: 2)
    print("[input] \(binaryString)")

    var maxGap: Int = 0
    var gapCounter: Int = 0
    binaryString.forEach {
        if $0 == "1" {
            if gapCounter != 0 {
                maxGap = max(maxGap, gapCounter)
            }
            gapCounter = 0
        } else {
            gapCounter += 1
        }
    }

    print ("[result] \(maxGap)")
    return maxGap
}

maxBinaryGap(2)
maxBinaryGap(529)
maxBinaryGap(1041)

결과

[input] 10
[result] 0
[input] 1000010001
[result] 4
[input] 10000010001
[result] 5

'iOS' 카테고리의 다른 글

[codility] CountDiv  (3) 2015.06.10
[codility] Task name: PassingCars  (0) 2015.06.10
UIAlertView addSubView ios7  (0) 2014.01.29
중첩된 딕셔너리의 키를 이용하여 정렬하기  (0) 2014.01.24
ios 기기의 회전 값 구하기  (0) 2014.01.21
Comments