1레벨 문제라 쉬운데, long long으로 형변환해서 Overflow만 신경써주면 된다.
#include <string>
#include <vector>
using namespace std;
int solution(int num) {
int answer = 0;
long long n = (long long)num;
while(1) {
if(n == 1)
break;
if(answer > 500)
return -1;
n = (n & 1) ? n + 1 + (n << 1) : (n >> 1);
answer++;
}
return answer;
}