반응형
[구현 환경]
- C++
[문제 설명]
- 주어진 숫자 n을 2진수로 변환했을 때의 1의 갯수와 동일한 1의 갯수를 가진 자연수 answer를 return
[함수 원형]
int solution(int n)
{
int answer;
return answer;
}
[풀이]
int solution(int n) {
auto NumberOfOne = [](int n) {
int cnt = 0;
while (n != 0)
{
if (n % 2 != 0) cnt++;
n /= 2;
}
return cnt;
};
auto n1 = NumberOfOne(n);
for (int i = n+1;; ++i)
{
auto n2 = NumberOfOne(i);
if(n1==n2) return i;
}
}
- 정수 n이 입력되었을 때 2진수로 변환한 뒤 1의 갯수를 세는 람다 함수 NumberOfOne 구현
- n+1부터 loop를 돌며 1의 갯수가 동일한 값을 찾으면 return
반응형
'개발 > 뇌를 말랑하게하는 코테 연습' 카테고리의 다른 글
[프로그래머스 Lv3][C++] 인사고과 (0) | 2023.11.07 |
---|---|
[프로그래머스 Lv2] 가장 큰 수 (0) | 2022.06.14 |
[프로그래머스 Lv2] 뉴스 클러스터링 (0) | 2022.06.14 |
[프로그래머스 Lv2] 124 나라의 숫자 (0) | 2022.06.14 |
[프로그래머스 Lv1] 실패율 (0) | 2022.06.07 |