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

hgghfgf·2023년 5월 29일
0

프로그래머스

목록 보기
101/227

콜라츠 수열 만들기.java

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

class Solution {
    public int[] solution(int n) {
        List<Integer> sequence = new ArrayList<>();
        sequence.add(n);

        while (n != 1) {
            if (n % 2 == 0) {
                n /= 2;
            } else {
                n = 3 * n + 1;
            }
            sequence.add(n);
        }

        int[] answer = new int[sequence.size()];
        for (int i = 0; i < sequence.size(); i++) {
            answer[i] = sequence.get(i);
        }
        return answer;
    }
}

n이 짝수인 경우, n을 2로 나눕니다.
n이 홀수인 경우, n에 3을 곱하고 1을 더합니다.
각 작업을 수행한 결과인 n을 sequence에 추가합니다.
반복문이 종료된 후, sequence의 내용을 배열로 변환하여 answer 배열에 저장하고 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글