본문 바로가기
Algorithm/LeetCode

[LeetCode] 338. Counting Bits (C++)

by shine-jung 2021. 8. 5.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
벡터를 생성한다.
0부터 n까지 반복한다.
    값이 i인 a 변수와, 값이 0인 cnt 변수를 생성한다.
    a가 0이 될 때 까지 반복한다.
        a를 2로 나눈 나머지가 1이면 cnt에 1을 더한다.
        a를 2로 나눈다.
    cnt 값을 벡터에 추가한다.
벡터를 반환한다.
*/

 


 

코드

class Solution {
public:
    vector<int> countBits(int n) {
        vector<int> v;
        for ( int i = 0; i <= n; i++ ) {
            int cnt = 0, a = i;
            while ( a > 0 ) {
                if ( a % 2 == 1 ) cnt++;
                a /= 2;
            }
            v.push_back(cnt);
        }
        return v;
    }
};

 


 

느낀점

 

딱히 없다.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글