관리 메뉴

fatalite

Flipping Bits 본문

코딩 인터뷰/C++

Flipping Bits

fataliteforu 2023. 1. 12. 09:22

Function Description

Complete the flippingBits function in the editor below.

flippingBits has the following parameter(s):

  • int n: an integer

Solution Code

long flippingBits(long n) {
    //32bit
    bool a[32];
    
    for(int i = 31; i >= 0; i--){
        if(pow(2,i) <= n){
            a[31-i] = 0;
            //std::cout << a[31-i];
            n = n - pow(2,i);
        }else{
            a[31-i] = 1;
            //std::cout << a[31-i];
        }
    }
    long results = 0;
    for(int i = 31; i >= 0; i--){
        if(a[31-i] == 1){
            results = results + pow(2,i);
        } 
    }
    return results;
    
    
}

'코딩 인터뷰 > C++' 카테고리의 다른 글

Subarray Division 2  (0) 2023.02.03
Permuting Two Arrays  (0) 2023.01.26
Mars Exploration  (0) 2023.01.18
Counting Valleys  (0) 2023.01.17
Diagonal Difference  (0) 2023.01.13