코딩테스트/프로그래머스 Lv. 0

[프로그래머스] Lv. 0 콜라츠 수열 만들기 JAVA

촙오 개발자 2025. 2. 4. 22:51
반응형

콜라츠 수열 만들기

 

문제 설명

요구사항

  • x가 짝수면 2로 나누기, 홀수면 3곱한후 1 더하기
  • x가 1이 될 때까지 반복

 

테스트

package lv0;

import java.util.ArrayList;
import java.util.List;

public class 콜라츠_수열_만들기 {
	public int[] solution(int n) {
        int[] answer = {};
        
        List<Integer> list = new ArrayList<Integer>();
        
        list.add(n);
        
        while(true) {
        	if(n == 1) {
        		break;
        	}
        	
        	if(n % 2 == 0) {
        		n = n / 2;
        	} else {
        		n = 3 * n + 1;
        	}
        	
        	list.add(n);
        }
        
        answer = new int[list.size()];
        
        for(int i = 0; i < answer.length; i++) {
        	answer[i] = list.get(i);
        }
        
        return answer;
    }
}

 

프로그래머스

import java.util.ArrayList;
import java.util.List;

class Solution {
    public int[] solution(int n) {
        int[] answer = {};
        
        List<Integer> list = new ArrayList<Integer>();
        
        list.add(n);
        
        while(true) {
        	if(n == 1) {
        		break;
        	}
        	
        	if(n % 2 == 0) {
        		n = n / 2;
        	} else {
        		n = 3 * n + 1;
        	}
        	
        	list.add(n);
        }
        
        answer = new int[list.size()];
        
        for(int i = 0; i < answer.length; i++) {
        	answer[i] = list.get(i);
        }
        
        return answer;
    }
}

 

결과

반응형