문제
https://school.programmers.co.kr/learn/courses/30/lessons/12980
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
목적지까지 도달하는데 필요한 최소한의 배터리를 구하는 문제였다.
문제 풀이
굉장히 쉬운 문제였는데 왜 level 2인지 잘 모르겠다. 마지막 ans++을 해준 이유는 마지막 n이 짝수든 홀수든 2/2 = 1, 3/2 = 1 로 1이 남게 되어 건전지 수를 1 더해줘야 하기 때문이다.
#include <iostream>
using namespace std;
int solution(int n)
{
int ans = 0;
while(n>1){
if(n%2 == 1){
ans++;
}
n/=2;
}
ans++;
return ans;
}
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12980
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
목적지까지 도달하는데 필요한 최소한의 배터리를 구하는 문제였다.
문제 풀이
굉장히 쉬운 문제였는데 왜 level 2인지 잘 모르겠다. 마지막 ans++을 해준 이유는 마지막 n이 짝수든 홀수든 2/2 = 1, 3/2 = 1 로 1이 남게 되어 건전지 수를 1 더해줘야 하기 때문이다.
#include <iostream> using namespace std; int solution(int n) { int ans = 0; while(n>1){ if(n%2 == 1){ ans++; } n/=2; } ans++; return ans; }