https://school.programmers.co.kr/learn/courses/30/lessons/12921
- Java
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
boolean[] aa = new boolean[n+1];
Arrays.fill(aa,true);
aa[0]=false;aa[1]=false;
for(int i=2;i<=n;i++){
if(aa[i]){
answer++;
for(int j=i*2;j<n+1;j+=i)
aa[j]=false;
}
}
return answer;
}
}
- Ruby
소수는 1, 소수가 아닌 수는 0으로 바꾸어
그 합을 리턴하도록 했다.
def solution(n)
answer = 0
a=Array.new(n+1,1)
a[0]=0
a[1]=0
for i in 2..(n)
if a[i]==1
k=i*2
while k<=n
a[k]=0
k=k+i
end
end
end
return a.sum
end
'Programmers > Java, Ruby' 카테고리의 다른 글
프로그래머스 Java : 실패율 (0) | 2022.11.27 |
---|---|
프로그래머스 Java / Ruby : 소수 만들기 (0) | 2022.11.25 |
프로그래머스 Java / Ruby : 모의고사 (0) | 2022.11.22 |
프로그래머스 Java / Ruby : 2016년 (0) | 2022.11.21 |
프로그래머스 Java : 폰켓몬 (0) | 2022.11.20 |