728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12980#
1. Logic
짝수일 때에는 2로 나눠주고 홀수일 때에는 -1을 해주고 2로 나눠준다.
2. Code
#include <iostream>
using namespace std;
int solution(int n)
{
int ans = 0;
while(n) {
if(n % 2 == 1)
ans++;
n /= 2;
}
return ans;
}
3. Feedback
처음 문제를 보고 아래의 코드와 같이 코딩을 했지만 int를 나눴을 때 홀수가 나온다면 소숫점을 떨군다는 것을 적용하여 코드를 변경했다.
#include <iostream>
using namespace std;
int solution(int n)
{
int ans = 0;
while(n > 0) {
if(n % 2 == 0) {
n /= 2;
}
else if(n % 2 == 1) {
n -= 1;
++ans;
}
}
return ans;
}
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[백준/Baekjoon] 2342 Dance Dance Revolution C++ :: Dynamic Programming (1) | 2024.02.04 |
---|---|
[프로그래머스/Programmers] Level1 가장 많이 받은 선물 C++ :: Implementation (0) | 2024.02.02 |
[프로그래머스/Programmers] Level 1 붕대감기 C++ :: Implementation (0) | 2023.12.13 |
[프로그래머스/Programmers] Level 3 숫자 게임 C++ :: Implementation (0) | 2023.10.03 |
[프로그래머스/Programmers] Level 2 마법의 엘리베이터 C++ :: Implementation (0) | 2023.09.27 |