๐Ÿ“ ์ฝ”ํ…Œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค12911 ๋‹ค์Œ ํฐ ์ˆซ์ž

JerryiOS 2023. 5. 13. 13:31

import Foundation

func solution(_ n:Int) -> Int {
    var answer : Int = n + 1

    while true {
        if n.nonzeroBitCount == answer.nonzeroBitCount {
            break;
        }
        answer += 1
    }

    return answer
}

n.nonzeroBitcount : ๋น„ํŠธ์—์„œ 1์˜๊ฐœ์ˆ˜ ์„ธ์ค€๋‹ค.

 

import Foundation

func solution(_ n:Int) -> Int
{
    let countOne = countBinaryOne(n);
    for num in n+1...Int.max {
        if countBinaryOne(num) == countOne {
            return num;
        }
    }
    return n
}

func countBinaryOne(_ n:Int) -> Int {
    return String(n, radix:2).map({Int(String($0))!}).reduce(0,+);
}

 

String(n, radix: 2) : 2์ง„๋ฒ•์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ex) 10111

๋ฐ˜์‘ํ˜•