처음부터 차근차근

class2 - 1978번 소수 찾기 (자바) 본문

알고리즘

class2 - 1978번 소수 찾기 (자바)

_soyoung 2024. 5. 19. 21:13
반응형

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

 

전체적으로 쉽게 풀 수 있는 문제였다.

 

문제 분석 : 

소수 = 1과 자신만의 숫자를 약수로 가지는 수

그러므로 1과 자기자신이 아닐 경우에 나눠서 0이 되면 count를 하지 않는다.

 

소스

package backjoon;

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

public class q_1978 {
	public static void main(String[] args) {
		try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            StringTokenizer st;
            
            int num = Integer.parseInt(br.readLine());            
            
            int count = 0;
            int temp;
            st = new StringTokenizer(br.readLine());
            for (int i = 0; i < num; i++) {
            	temp = Integer.parseInt(st.nextToken());
            	
            	for (int j = 2; j < 1000; j++) {
            		if (j == temp) {
            			count++;
            			break;
            		}
            		else if (temp == 1 || temp % j == 0) {
            			break;
            		}
            		
            	}
            }
            
            
            // 출력
            bw.write(String.valueOf(count)+"\n");

            // close
            br.close();
            bw.flush();
            bw.close();
		}
		catch (IOException e) {
          System.out.println("IOException 발생");
		}	
	}
}
반응형
Comments