inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 소인수분해

    silver's avatar
    silver
    Dec 29, 2025
    [알고리즘문제풀기] 소인수분해
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120852

    내가 작성한 정답

    import java.util.*; class Solution { public int[] solution(int n) { Set<Integer> set = new TreeSet<>(); int i = 1; while (n>1){ i++; if(n%i==0) { set.add(i); while (n%i==0) n = n/i; } } return set.stream().mapToInt(a->a).toArray(); } } // 그냥 else쓰면 while 한 번 더 안써도 됨 import java.util.*; class Solution { public int[] solution(int n) { Set<Integer> set = new TreeSet<>(); int i = 2; while(n > 1){ if(n%i==0){ set.add(i); n /=i; }else i++; } return set.stream().mapToInt(a->a).toArray(); } }

    다른 사람들의 정답

    import java.util.LinkedHashSet; class Solution { public int[] solution(int n) { LinkedHashSet<Integer> primeNumbers = new LinkedHashSet<>(); int i = 2; while (n != 0 && i <= n) { if (n % i == 0) { primeNumbers.add(i); n /= i; } else { i++; } } // System.out.println(primeNumbers); return primeNumbers.stream().mapToInt(Integer::intValue).toArray(); } }
    Share article

    silver

    RSS·Powered by Inblog