https://school.programmers.co.kr/learn/courses/30/lessons/12911
알게된 것
- 2진수 변환하는 것을 한 번 더 찾아봐야겠다고 생각이 들었다.
내코드
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string convertBinary(int n) {
string binary = "";
while(n/2 >= 1) {
binary = to_string(n%2) + binary;
n = n/2;
}
binary = to_string(n%2) + binary;
return binary;
}
int getOneCount(string binary) {
int count = 0;
for (int i = 0; i < binary.size(); i++) {
if (binary[i] == '1') count++;
}
return count;
}
int solution(int n) {
int answer = 0;
// 1의 개수
int oneCnt = getOneCount(convertBinary(n));
// int tempOneCnt = 0;
while(1) {
// tempOneCnt = getOneCount(convertBinary(++n));
// if (oneCnt == tempOneCnt) {
if (oneCnt == getOneCount(convertBinary(++n))) {
break;
}
}
return n;
}
친구리뷰
not yet..
시도
굿
728x90
반응형