λ¬Έμ
μ½λ
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string binary(int n){
string bit = "";
while(n!=0){
bit+= to_string(n%2);
n/=2;
}
reverse(bit.begin(), bit.end());
return bit;
}
int one_check(string bit){
int cnt = 0;
for(char c : bit){
if(c=='1') cnt++;
}
return cnt;
}
int solution(int n) {
int answer = 0;
int one_cnt = 0;
string n_bit = binary(n);
one_cnt = one_check(n_bit);
while(true){
n+=1;
string temp = binary(n);
int temp_one_cnt = one_check(temp);
if(one_cnt==temp_one_cnt){
answer = n;
break;
}
}
return answer;
}
νμ΄(9λΆ)
κ·Έλ₯ μκ°λλ λλ‘ μμ μ¨ λ΄λ €κ°μ΅λλ€.
- 쑰건 1. nμ λ€μ ν° μ«μλ nλ³΄λ€ ν° μμ°μμ λλ€.
- 쑰건 2. nμ λ€μ ν° μ«μμ nμ 2μ§μλ‘ λ³ννμ λ 1μ κ°μκ° κ°μ΅λλ€.
- 쑰건 3. nμ λ€μ ν° μ«μλ 쑰건 1, 2λ₯Ό λ§μ‘±νλ μ μ€ κ°μ₯ μμ μμ λλ€.
쑰건 2μ 쑰건 3μ λ§μ‘±ν λκΉμ§ n++μ ν΄κ°λ©΄μ νμνμ΅λλ€.
'Algorithm π§π»βπ» > νλ‘κ·Έλλ¨Έμ€(Programmers)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[c++] νλ‘κ·Έλλ¨Έμ€ - ν° μ λ§λ€κΈ°(Level 2) (0) | 2022.04.24 |
---|---|
[c++] νλ‘κ·Έλλ¨Έμ€ - κ΄νΈ νμ νκΈ°(Level 2) (0) | 2022.04.19 |
[c++] νλ‘κ·Έλλ¨Έμ€ - μ λ ₯λ§μ λλ‘ λλκΈ°(Level 2) (0) | 2022.04.18 |
[c++] νλ‘κ·Έλλ¨Έμ€ - μ¬λ°λ₯Έ κ΄νΈ(Level 2) (0) | 2022.04.18 |
[c++] νλ‘κ·Έλλ¨Έμ€ - λ λ°λ¨ΉκΈ°(Level 2) (2) | 2022.04.18 |
[c++] νλ‘κ·Έλλ¨Έμ€ - μ΅μκ° λ§λ€κΈ°(Level 2) (0) | 2022.04.18 |
λκΈ