[PRO][Lv.2] 다음 큰 숫자

김정현·2023년 1월 18일

프로그래머스

목록 보기
39/50

📚 Problem

다음 큰 숫자

💫 Solve

import Foundation

func solution(_ n:Int) -> Int
{
    let decimalNumber : Int = n
    var answer = decimalNumber
    var binaryNumber = Array(String(decimalNumber,radix: 2))
    let count = binaryNumber.filter { ($0) == "1"}.count
    
    while decimalNumber != 0 {
        answer += 1
        binaryNumber = Array(String(answer,radix: 2))
        let num = binaryNumber.filter { ($0) == "1"}.count
        if num == count {
            break
        }
    }
    
    return answer
    
}

🩺 Another Solution

import Foundation

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

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

    return answer
}

✌️ 알아간것

  • nonzeroBitCount에 대해 알았다 ! 자세한건 정리해야겠다!
profile
🍎💻👍

0개의 댓글