프로그래머스 문제 풀이

Lv0 - 콜라츠 수열 만들기

Dotae1 2025. 2. 22. 19:20

import java.util.ArrayList;

class Solution {
    public int[] solution(int n) {
        ArrayList<Integer> list = new ArrayList<>(); // 동적 배열 사용
        list.add(n); // 초기값 추가

        while (n != 1) { // 1이 될 때까지 반복
            if (n % 2 == 0) {
                n = n / 2;
            } else {
                n = 3 * n + 1;
            }
            list.add(n); // 리스트에 값 추가
        }

        // 리스트를 int 배열로 변환
        return list.stream().mapToInt(i -> i).toArray();
    }
}

 

int[] 배열에는 append함수가 없으므로 ArrayList를 활용하여 짝수일때 홀수일때 list에 수를 하나씩 추가해주는 느낌으로 코드를 작성했다.

'프로그래머스 문제 풀이' 카테고리의 다른 글

Lv0 - 9로 나눈 나머지  (1) 2025.02.22
Lv0 - 간단한 논리 연산  (0) 2025.02.22
Lv0 - 카운트 업  (0) 2025.02.22
Lv0 - 수 조작하기 2  (0) 2025.02.22
Lv0 - 수 조작하기1  (0) 2025.02.22