[프로그래머스] - 콜라츠 추측(Java)

문제📝


풀이💡

  • n이 1이면 즉시 종료하게 만든다.
  • n이 1이 될때까지 짝수면 2를 나누고 홀수면 3을 곱하고 1을 더한다.
  • 한 번 반복될 때마다 answer가 1이 증가하는데 answer가 500이 되면 즉시 종료하고 -1을 반환한다.

코드💻

/*
 * 프로그래머스 Lv1 - 콜라츠 추측
 * 문제링크:https://programmers.co.kr/learn/courses/30/lessons/12943

 * 정확성 테스트 케이스 16개 중 16개 성공
 * 총점 100.0
*/

class Solution {
    public int solution(int n) {
       int answer = 0;
		
        do {
              if(n==1) 
	             break;
            
              ++answer; 
            
	          if(n%2 == 0){ 
	             n = n/2; 
	             continue;
	          }
	          else if(n%2 == 1) { 
	             n = n*3+1;
	             continue;
	          }
			
	          if(answer == 500) { 
	             answer = -1;
	             break;
	          }
	   }while(n != 1); 
		
	return answer;
    }
}

결과😎


느낀점👨‍💻

문제만 잘 읽으면 누구나 쉽게 풀 수 있는 문제인 것 같다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

좋은 웹페이지 즐겨찾기