-
728x90
문제 설명
정수
n
이 매개변수로 주어질 때,n
의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.제한 사항
- 1 ≤ n ≤ 10,000
답안
import java.util.*; class Solution { public int[] solution(int n) { ArrayList<Integer> arr = new ArrayList<>(); for(int i=1; i<=n; i++) { if(n%i==0) { arr.add(i); } } int[] answer = new int[arr.size()]; for(int j=0; j<answer.length; j++) { answer[j] = arr.get(j); } return answer; } }
for문을 돌면서 i로 나눈 값이 0이 되는 인자를 배열에 추가해야되기 때문에 길이가 고정된 배열을 쓰기보다는
ArrayList
를 사용해서 인자를 다 넣은 후 배열로 바꿔주는 방식을 사용한다.이후 다시한번 for문을 돌면서 배열에
ArrayList
인자를 넣어주고 리턴해주는 방식.728x90'algorithm' 카테고리의 다른 글
자바 알고리즘 - 인덱스 바꾸기 (0) 2023.09.02 자바 알고리즘 - 한 번만 등장한 문자 (0) 2023.09.02 자바 알고리즘 - 편지 (0) 2023.09.01 자바 알고리즘 - 가장 큰 수 찾기 (0) 2023.09.01 자바 알고리즘 - 문자열 계산하기 (0) 2023.09.01