https://www.acmicpc.net/problem/17419
17419번: 비트가 넘쳐흘러
🎶 DJ욱제는 비트에 몸을 맡기는 중이다. 🎶 DJ욱제는 비트에 심취한 나머지, 비트를 비틀어 제껴버리는 문제를 내 버렸다! N자리 이진수 K가 주어진다. K가 0이 아닐 때까지 아래의 연산을 적용
www.acmicpc.net
#include <bits/stdc++.h>
// [C++] 백준 문제풀이 (Bitmask)
int main(int argc, char *argv[])
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
/*
K = K-(K&((~K)+1))
= K-(K & -K) ---> (K & -K)는 숫자 K의 비트값이 1인것 중 최하위 비트를 의미한다.
*/
int n;
std::string s;
std::cin >> n >> s;
int ret = 0;
for (char ch : s){
if (ch == '1') ++ret;
}
std::cout << ret << "\n";
return 0;
}
'백준 문제풀이 > Bitmask' 카테고리의 다른 글
[C++] 백준 문제풀이 (Bitmask) 12833번 XORXORXOR (0) | 2023.07.07 |
---|---|
[C++] 백준 문제풀이 (Bitmask) 25166번 배고픈 아리의 샌드위치 구매하기 (1) | 2023.05.28 |
[C++] 백준 문제풀이 (Bitmask) 2961번 도영이가 만든 맛있는 음식 (0) | 2023.05.28 |
[C++] 백준 문제풀이 (Bitmask) 1094번 막대기 (0) | 2023.05.28 |
[C++] 백준 문제풀이 (Bitmask) 24389 2의 보수 (1) | 2023.05.28 |