
귀찮아서 에라토스 테네스의 체를 쓰지 않았다. 이러면 연습이 안되는데, 반성해야한다.
Queue를 이용해 풀었다. ArrayList로 풀수도 있지만, 가변적인 경우에 ArrayList로 이용하는걸 별로 안좋아해서.
import java.util.LinkedList;
import java.util.Queue;
import java.util.Arrays;
class Solution {
public int[] solution(int n) {
int[] answer = {};
Queue<Integer> queue = new LinkedList<>();
for (int i=1; i<=Math.sqrt(n); i++) {
if (n%i==0) {
queue.add(i);
if (n!=Math.pow(i,2)) {
queue.add(n/i);
}
}
}
answer = new int[queue.size()];
for (int i=0; i<answer.length; i++) {
answer[i] = queue.poll();
}
Arrays.sort(answer);
return answer;
}
}'프로그래머스 문제풀이 > Level 0' 카테고리의 다른 글
| 최댓값 만들기(2) (자바, Java) (0) | 2022.11.27 |
|---|---|
| 가장 큰 수 찾기 (자바, Java) (0) | 2022.11.27 |
| 최빈값 구하기 (자바, Java) (0) | 2022.11.26 |
| 피자 나눠 먹기 (2) (자바, Java) (0) | 2022.11.26 |
| 순서쌍의개수 (자바, Java) (0) | 2022.11.26 |