강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

kimjinseok님의 프로필 이미지
kimjinseok

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

5. 소수(에라토스테네스 체)

run time error..

작성

·

336

0

안녕하세요! 질문해주신 다른분들 코드를 봤는데 for문에서 i<num 그리고 j<num과 같이 작성하면 마지막 arr[num]값이 소수인지 체크가 불가능할거같은데 어떻게 생각하시나요?!
(강의에서는 i<=n, j<=n과 같이 작성하셨습니다.)
package Inflearn;

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println(solution(num));
}
public static int solution(int num){
int [] arr = new int[num+1];
int ans = 0;

for(int i=2;i<=num;i++){
if(arr[i] == 0){
ans++;
for(int j=i; j<=num; j=j+i){
arr[j] = 1;
}
}
}

return ans;
}
}

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

당연히 i<=num 과 같이 해야 하겠죠.

kimjinseok님의 프로필 이미지
kimjinseok

작성한 질문수

질문하기