728x90
import java.util.*;
class Solution {
public int[] solution(int n) {
ArrayList<Integer> answerArray = new ArrayList<>();
while(n!=1){
if(n%2==0){
answerArray.add(n);
n /= 2;
}else{
answerArray.add(n);
n = 3 * n + 1;
}
}
answerArray.add(1);
int[] answer = new int[answerArray.size()];
for(int i=0; i<answerArray.size(); i++){
answer[i] = answerArray.get(i);
}
return answer;
}
}
처음에 while문 조건을 n<=1 로 해서 무한루프를 돌게 해버렸다.
n != 1 인 조건으로 while 문을 돌게하고 마지막에 1을 추가하는 방식으로 하니 해결 !
728x90
'코테연습 > 프로그래머스' 카테고리의 다른 글
⭐⭐ 코딩 기초 트레이닝 > 주사위 게임 3 Java ( 미완 ) (0) | 2023.07.31 |
---|---|
코딩 기초 트레이닝 > 간단한 논리 연산 Java (0) | 2023.07.31 |
코딩 기초 트레이닝 > 배열 만들기 4 - Java (0) | 2023.07.26 |
⭐⭐ 코딩 기초 트레이닝 > 배열 만들기 2 - Java / matches 함수 (0) | 2023.07.25 |
코딩 기초 트레이닝 > 카운트 업 -Java (0) | 2023.07.25 |