틀린코드
#include <string>
#include <vector>
using namespace std;
int solution(int num) {
int answer = 0, count = 0;
while(num > 1){
if(num % 2 == 0){
num = num / 2;
++count;
}else{
num = (num * 3) + 1;
++count;
}
if (count >= 500){
//answer = -1;
//break;
return -1;
}else{
answer = count;
}
}
return answer;
}
> count 값이 ++이 안 되는 것으로 추측하건대 계산된 num값이 int 자료형 범위를 넘었을 때, count가 멈추는 것 같다.
🌱 정답코드
** int가 아닌 long long 형으로 바꿔주니 맞았다.
'OLD_알고리즘 > Programmers - 알고리즘' 카테고리의 다른 글
Programmers ] Level 1 - 제일 작은 수 제거하기 (0) | 2021.01.06 |
---|---|
Programmers ] Level 1 - 짝수와 홀수 (0) | 2021.01.06 |
Programmers ] Level 1 - 하샤드 수 (0) | 2021.01.04 |
Programmers ] Level 1 - 핸드폰 번호 가리기 (0) | 2021.01.04 |
Programmers ] Level 1 - 행렬의 덧셈 (0) | 2021.01.03 |
댓글