💻 Algorithm/Baekjoon

[JAVA] 백준 1979 - 소수 찾기

dlalwl_jpg 2022. 7. 7. 17:48

 실버 V

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.


입력

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.


접근방법

1과 자기 자신 이외의 수로 나눠진다면 소수가 아니라는 표시로 check를 1로 바꿔 주었다.

따라서 check가 0이면 소수 개수 count를 증가 시켰다.


코드

package bj1978;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class bj1978 {

	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		//num 입력
		int num = Integer.parseInt(br.readLine());
		
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");
		int n;
		int prime = 0, count = 0;
		
		for(int i = 0; i < num; i++) {
			n = Integer.parseInt(st.nextToken());
			prime = 0; //초기화
			
			if(n == 1) //1이면 다시 위로
				continue;
			
			//소수 판별
			for(int j = 2; j < n; j++) { 
				if(n % j == 0) { //자기자신 이외의 수로 나눠떨어지면
					prime = 1; //소수가 아님
					break;
				}		
			}
			
			if(prime == 0) 
				count++; //소수 개수
		}	
		
		//결과 출력
		System.out.println(count);
	}

}

'💻 Algorithm > Baekjoon' 카테고리의 다른 글

[JAVA] 백준 10845 - 큐  (0) 2022.07.11
[JAVA] 백준 10773 - 제로  (0) 2022.07.08
[JAVA] 백준 1259 - 팰린드롬수  (0) 2022.07.07
[JAVA] 백준 1920 - 수 찾기  (0) 2022.07.07
[JAVA] 백준 8958 - OX퀴즈  (0) 2022.07.01