거인의 코딩일지
[Lv.0_Java] 콜라츠 수열 만들기 본문
728x90
import java.util.*;
class Solution {
public int[] solution(int n) {
List<Integer> list = new ArrayList<>();
list.add(n);
while(n != 1){
if(n%2 == 0){
n /= 2;
}else if(n%2 != 0){
n = 3*n+1;
}
list.add(n);
}
int[] answer = list.stream().mapToInt(i->i).toArray();
return answer;
}
}
배열로 해결하기에는 answer 배열의 길이를 모르기에 list 를 활용해 보았다
while 문을 사용해서 n 이 1이 아닐경우 계속 반복되게 하였고 if- else 문을 활용하여 짝수 경우와 홀수 경우를 나누어서 list 에 추가하였고 마지막에는 list를 array로 변경해야 했기에 int[] answer = list.stream().mapToInt(i->i).toArray(); 를 사용하여 배열로 변경시켜 준뒤 return 하였다!
int[] answer = list.stream().mapToInt(i->i).toArray();
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/009.gif)
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.0_Java] 369 게임 (0) | 2023.08.16 |
---|---|
[Lv.0_Java] ad 제거하기 (0) | 2023.08.16 |
[Lv.0_Java] 특별한 이차원 배열 1 (0) | 2023.08.16 |
[Lv.0_Java] 주사위 게임 2 (0) | 2023.08.16 |
[Lv.0_Java] 외계행성의 나이 (0) | 2023.08.16 |