https://programmers.co.kr/learn/courses/30/lessons/12980
#include <iostream>
#include <vector>
using namespace std;
int solution(int n)
{
int cnt = 0;
// n에서부터 0까지 가는 방법
while (n > 0)
{
// n이 홀수면 1칸 점프
if (n % 2)
{
++cnt;
}
/*
n의 홀짝 여부와 상관없이 무조건 n은 2로 나눈다.
다음번 n이 홀수일 때만 중요하기 때문.
*/
n /= 2;
}
return cnt;
}
문제가 길어서 백트랙킹이나 DP쯤 되나했더니...
효율성 테스트에서 fail떠서 깨달았다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스]2017 팁스타운 : 예상 대진표 (level 2)(c++) (0) | 2020.05.24 |
---|---|
[프로그래머스]Summer/Winter Coding(~2018) : 영어 끝말잇기 (level 2)(c++) (0) | 2020.05.23 |
[프로그래머스] Summer/Winter Coding(~2018) : 소수 만들기 (level 2)(c++) (0) | 2020.05.22 |
[프로그래머스]연습문제 : 피보나치 수(level 2)(c++) (0) | 2020.05.20 |
[프로그래머스]연습문제 : 최솟값 만들기 (level 2)(c++) (0) | 2020.05.20 |
댓글