문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120897
문제 설명
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
입출력 예시
n | result |
24 | [1, 2, 3, 4, 6, 8, 12, 24] |
29 | [1, 29] |
문제 풀이
1. 매개변수 n의 값의 약수를 구해서 배열로 리턴하는 문제이다.
2. 약수는 임의 값을 나눴을 때 나머지가 0인 경우가 약수이다.
3. 1 ~ n까지의 값을 n으로 나눴을 때 0인 값을 Array로 리턴한다.
풀이(1)
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int n) {
return IntStream.range(1, n + 1).filter(i -> n % i == 0).toArray();
}
}
풀이(2)
import java.util.*;
class Solution {
public int[] solution(int n) {
List<Integer> answer = new ArrayList<>();
for(int i = 1; i <= n; i++){
if(n % i == 0){
answer.add(i);
}
}
return answer.stream().mapToInt(x -> x).toArray();
}
}
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Java :: 옷가게 할인 받기 (0) | 2023.09.13 |
---|---|
[프로그래머스] Java :: 전화번호 목록 (0) | 2023.09.12 |
[프로그래머스] Java :: 개미 군단 (0) | 2023.09.11 |
댓글