전체 글 238

[프로그래머스] 콜라츠 추측

class Solution { public int solution(long num) { int answer = 0; if(num == 1){ answer = 0; } while(num != 1){ if(num%2 == 0){ num = num/2; answer++; }else{ num = num*3+1; answer++; } if(answer==500){ answer = -1; break; } } return answer; } } 테스트 3에서 오류가 났다면 num*3+1 반복하는 과정에서 int형 범위를 초과할 수 있다는 것을 생각하자. int형보다 long 타입을 선언하여 오버플로우를 막아주자.