Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.0_Java] 콜라츠 수열 만들기 본문

알고리즘테스트/Programmers

[Lv.0_Java] 콜라츠 수열 만들기

코딩거인 2023. 8. 16. 13:16
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();
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