문제
나의 생각
for문과 List 사용하여서 몫이 0 인 값만 추출.
list를 다시 배열로 반환할 생각으로 접근.
나의 답안
public static Integer[] solution(int n) {
List<Integer> list = new ArrayList<>();
for(int i = 1 ; i <= n ; i ++){
if (n % i == 0){
list.add(i);
}
}
return list.toArray(new Integer[list.size()]);
}
다른 답안
mapToInt를 쓰면 Integer 타입이 아닌 int 타입으로 반환이 가능하다.
import java.util.List;
import java.util.ArrayList;
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();
}
}
'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글
숫자 찾기 (0) | 2023.02.28 |
---|---|
369게임 (0) | 2023.02.28 |
피자 나눠 먹기 (2) (0) | 2023.02.28 |
외계행성의 나이 (0) | 2023.02.28 |
인덱스 바꾸기 (0) | 2023.02.27 |