๋ฌธ์
์ฝ๋
#include <iostream>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int N,K; cin>>N>>K;
int ans = 0;
for(ans;; ans++){
int cnt = 0;
int temp_N = N;
while(temp_N!=0){
if(temp_N%2) cnt++;
temp_N/=2;
}
if(cnt<=K) break;
N++;
}
cout<<ans;
}
ํ์ด
์๋์ ์ ์ถ๋ ฅ์ผ๋ก ํ๋ฒ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
13๊ฐ์ ๋ฌผ๋ณ์ ํฉ์น๊ฒ ๋๋ฉด ๊ฒฐ๊ตญ ์ต์ข ์ ์ผ๋ก 3๊ฐ์ ๋ฌผ๋ณ์ด ๋จ๊ฒ ๋ฉ๋๋ค. ๋๋๋ ๊ณผ์ ์ ์๋ ์ด๋ฏธ์ง์ ๊ฐ๊ณ , ์ฝ๋์์ผ๋ก๋ while(temp_N!=0) ๋ถ๋ถ์ ๋๋ค.
ํ์ฌ ๋จ์ ๋ฌผ๋ณ 3๊ฐ๋ ํ ๋ฒ์ ๊ฐ์ ธ๊ฐ ์ ์๋ ๋ฌผ๋ณ ๊ฐ์ K๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ ๋ฌผ๋ณ์ ๋ ์ถ๊ฐํ์ฌ ๋จ์ ๋ฌผ๋ณ ์๋ฅผ ์ค์ฌ์ผ ํฉ๋๋ค.
๋ฌผ๋ณ์ ์ถ๊ฐํ๋ ๊ณผ์ ์ N++์ ๋๋ค. ์ด์ ๋ค์ ์ ์์ ์ ๋ฐ๋ณตํ์ฌ "๋จ์ ๋ฌผ๋ณ ๊ฐ์ <=K" ๊ฐ ๋ ๋๊น์ง ๊ณ์ฐํ์ฌ ์ต์ข ์ ์ผ๋ก N์ ์ถ๊ฐํด์ค ํ์๋ฅผ ์ถ๋ ฅํ๋ฉด ์ ๋ต์ด ๋ฉ๋๋ค.
๋ฌธ์ ์์ ๋ง์ฝ ์ ๋ต์ด ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ผ๊ณ ํ๋๋ฐ ์ ๋ต์ด ์๋ ๊ฒฝ์ฐ๋ ์์ผ๋ ๋ฐ๋ก ์ฒ๋ฆฌํด ์ฃผ์ง ์์๋ ๋ฉ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 16926๋ฒ - ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ1 (0) | 2022.04.04 |
---|---|
[๋ฐฑ์ค,c++] 18511๋ฒ - ํฐ ์ ๊ตฌ์ฑํ๊ธฐ (0) | 2022.04.03 |
[๋ฐฑ์ค,c++] 1969๋ฒ - DNA (0) | 2022.03.31 |
[๋ฐฑ์ค,c++] 2696๋ฒ - ์ค์๊ฐ ๊ตฌํ๊ธฐ (0) | 2022.03.29 |
[๋ฐฑ์ค,c++] 2422๋ฒ - ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ (0) | 2022.03.27 |
[๋ฐฑ์ค,c++] 1449๋ฒ - ์๋ฆฌ๊ณต ํญ์น (0) | 2022.03.27 |
๋๊ธ