inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 콜라츠 수열 만들기

    silver's avatar
    silver
    Jul 09, 2025
    [알고리즘문제풀기] 콜라츠 수열 만들기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181919

    내가 작성한 정답

    import java.util.*; import java.util.stream.*; class Solution { public int[] solution(int n) { ArrayList<Integer> answer = new ArrayList<>(); answer.add(n); while (n != 1){ if(n%2==0) { n /= 2; } else { n = 3 * n + 1; } answer.add(n); } return answer.stream().mapToInt(i->i).toArray(); } }

    다른 사람들의 정답

    import java.util.stream.IntStream; class Solution { public int[] solution(int n) { // 위 두 스트림을 연결 return IntStream.concat( // 초기값 n, 조건 i >1, 다음 값의 정의 IntStream.iterate(n, i -> i > 1, i -> i % 2 == 0 ? i / 2 : i * 3 + 1), // 숫자 1을 담은 단일 요소 스트림 IntStream.of(1)) // 배열로 변환해 반환 .toArray(); } }
    Share article

    silver

    RSS·Powered by Inblog