반응형
문제(출처)
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다.
다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력
4
1 3 5 7
4
1 3 5 7
예제 출력
3
내 풀이
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
public class BOJ_1978 { public static void main(String args[]) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine()); String[] range = br.readLine().split(" ");
int count = 0; int check = 0; for (int i = 0; i < range.length; i++) {
for (int j=2; j <= Integer.parseInt(range[i]); j++) { if ((Integer.parseInt(range[i]) % j) == 0) { check++; } if(check > 2) { break; } } if (check == 1) { count++; } check = 0; } bw.write(String.valueOf(count)); bw.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class BOJ_1978 {
public static void main(String args[]) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine());
String[] range = br.readLine().split(" ");
int count = 0;
int check = 0;
for (int i = 0; i < range.length; i++) {
for (int j=2; j <= Integer.parseInt(range[i]); j++) {
if ((Integer.parseInt(range[i]) % j) == 0) {
check++;
}
if(check > 2) {
break;
}
}
if (check == 1) {
count++;
}
check = 0;
}
bw.write(String.valueOf(count));
bw.close();
}
}
내 풀이 해석
2부터 자기 자신까지 나누어서 0으로 떨어지면 check를 증분하고 check가 1보다 크면 반복문을 종료합니다.check가 1이면 count를 증분하여 소수의 갯수를 저장합니다.
반응형
'개발(합니다) > 알고리즘&코테' 카테고리의 다른 글
알고리즘 단계별로 풀어보기 : BOJ-1929(소수구하기) (0) | 2019.01.21 |
---|---|
알고리즘 단계별로 풀어보기 : BOJ-2581(소수) (0) | 2019.01.20 |
알고리즘 단계별로 풀어보기 : BOJ-1181(단어정렬) (0) | 2019.01.18 |
알고리즘 단계별로 풀어보기 : BOJ-1427(소트인사이드) (0) | 2019.01.17 |
알고리즘 단계별로 풀어보기 : BOJ-2108(통계학) (0) | 2019.01.16 |