문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12943
사실 다른 해결법으로는 파라미터 int 값 num을 long으로 변환하여 오버플로우를 방지하는 방법도 있지만
애초에 오버플로가 일어날만큼 큰 숫자는 500회를 넘어가는 숫자이기에 오버플로우로 인한 음수는 바로 -1을 반환하도록 했습니다
package Question;/*** 콜라츠 문제 2023-10-04* https://school.programmers.co.kr/learn/courses/30/lessons/12943**/public class CollatzQuestion {public static void main(String[] args) {int resultNum = solution( 626331);System.out.println(resultNum);}public static int solution(int num) {int answer = 0;boolean repeat = true;while(repeat){if(answer == 500 || num < 0) {answer = -1;repeat = false;} else if (num == 1) {repeat = false;} else{if(num%2 == 0){num = num/2;}else{num = num*3+1;}answer++;}}return answer;}}