[알고리즘문제풀기] 합성수 찾기

silver's avatar
Dec 16, 2025
[알고리즘문제풀기] 합성수 찾기

문제

내가 작성한 정답

import java.util.*; class Solution { public int solution(int n) { int[] cnt = new int[n+1]; for(int j=1; j<=n; j++){ for(int i=1; i<=j; i++){ if(j%i==0) cnt[j]++; } } return (int)Arrays.stream(cnt) .filter(i->i>=3) .count(); } }

다른 사람들의 정답

import java.util.stream.IntStream; class Solution { public int solution(int n) { return (int) IntStream.rangeClosed(1, n) .filter(i -> (int) IntStream.rangeClosed(1, i). filter(i2 -> i % i2 == 0) .count() > 2) .count(); } } class Solution { public int solution(int n) { int answer = 0; for(int i=4; i<n+1; i++){ if(i%2==0) { answer++; // 4이상 짝수는 전부 합성수 continue; } else{ for(int k=3; k<i/2; k=k+2){ if(i%k==0){ answer++; break; } } } } return answer; }
Share article

silver