728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120852
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 79 MB, 시간: 0.62 ms
사용 알고리즘: 구현
import java.util.*; class Solution { public int[] solution(int n) { // 소수가 아닌 수 체크 boolean[] isNotPN = new boolean[n + 1]; // n의 소인수를 임시로 담을 리스트 List<Integer> list = new ArrayList<>(); int j; for(int i = 2; i <= n; i++) { if(!isNotPN[i]) { // i가 소수인 경우 j = i; while(j <= n) { isNotPN[j] = true; // 소인수 i의 배수들은 소인수가 아님 j += i; } // i가 n의 소인수인 경우, 리스트에 담아줌 if(j - i == n) list.add(i); } } int[] answer = new int[list.size()]; for(int i = 0; i < list.size(); i++) answer[i] = list.get(i); return answer; } }
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 181887] 홀수 vs 짝수 (java) (0) | 2025.02.10 |
---|---|
[프로그래머스, 120885] 이진수 더하기 (java) (0) | 2025.02.10 |
[프로그래머스, 120853] 컨트롤 제트 (java) (0) | 2025.02.10 |
[프로그래머스, 181888] n개 간격의 원소들 (java) (0) | 2025.02.10 |
[프로그래머스, 181889] n 번째 원소까지 (java) (0) | 2025.02.10 |