https://school.programmers.co.kr/learn/courses/30/lessons/181919
처음에는 n까지의 모든 수에 대한 정답을 구해야 하는 줄 알고 for문을 썼었다. 하지만, 그냥 n을 이용해서 해 주면 되는 간단한 문제였다. 여기서 주의할 점은 while문이 실행되기 전, 가장 초기값을 ArrayList에 넣어 주어야 하는 것이다.
import java.util.*;
class Solution {
public ArrayList solution(int n) {
ArrayList<Integer> list = new ArrayList<>();
list.add(n);
while(n>1){
if(n%2 == 0){
n = n / 2;
list.add(n);
}else{
n = n * 3 + 1;
list.add(n);
}
}
return list;
}
}