100%를 한번에 바꾸는건 어려워도 1%를 100번 바꾸는건 쉽다.

생각정리 자세히보기

컴퓨터공학/알고리즘

[알고리즘] 약수 구하기

dc-choi 2023. 11. 8. 15:57
반응형

문제설명

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

제한사항

1 ≤ n ≤ 10,000

내가 풀이한 방법

import java.util.*;

class Solution {
    public int[] solution(int n) {
        List<Integer> list = new ArrayList<>();

        for (int i = 1; i <= n; i++) {
            if (n % i == 0) list.add(i);
        }
        
        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

충격받은 풀이법

완벽하게 스트림을 사용해서 문제 풀이를...

import java.util.stream.IntStream;
import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        return IntStream.rangeClosed(1, n).filter(i -> n % i == 0).toArray();
    }
}
반응형

'컴퓨터공학 > 알고리즘' 카테고리의 다른 글

[알고리즘] 팩토리얼  (0) 2023.11.13
[알고리즘] 2차원으로 만들기  (1) 2023.11.09
[알고리즘] n의 배수 구하기  (0) 2023.11.07
[알고리즘] 개미 군단  (0) 2023.11.04
[알고리즘] 세균 증식  (1) 2023.10.31