
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 |