[백준/JAVA]1978번 소수 찾기

2025. 5. 7. 20:56·코딩테스트/백준

문제

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

주어진 수들 중에서 소수가 몇 개인지 개수만 세는 문제였다.

문제 풀이

1. 처음 생각한 풀이

import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int N=Integer.parseInt(br.readLine());
		StringTokenizer st=new StringTokenizer(br.readLine()," ");
        int result=0; //소수의 개수
        
        //약수 구하기
		for(int i=0;i<N;i++) {
			int count=0;
			int num=Integer.parseInt(st.nextToken());
			for(int j=1;j<=num;j++) {
				if(num%j==0) count++;
			}
			
            //약수가 2개라면(1이 제외된다.)
			if(count==2) { 
				result++;
			}
		}
		
		System.out.println(result);
	}
}

2. 시간복잡도를 고려한 풀이

import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int N=Integer.parseInt(br.readLine());
		StringTokenizer st=w StringTokenizer(br.readLine(), " ");
		int result=0; //소수의 개수

		for(int i=0;i<N;i++) {
			int num=Integer.parseInt(st.nextToken());
			if(isPrime(num)) result++;
		}

		System.out.println(result);
	}

	public static boolean isPrime(int num) {
		if(num<2) return false;
		for(int i=2;i<=Math.sqrt(num);i++) {
			if (num%i==0) return false; //하나라도 나누어 떨어지면 소수 아님
		}
		return true;
	}
}

'코딩테스트 > 백준' 카테고리의 다른 글

[백준/JAVA]11653번 소인수분해  (0) 2025.05.09
[백준/JAVA]2581번 소수  (0) 2025.05.08
[백준/JAVA]9506번 약수들의 합  (0) 2025.05.06
[백준/JAVA]2501번 약수 구하기  (0) 2025.05.05
[백준/JAVA]5086번 배수와 약수  (0) 2025.05.05
'코딩테스트/백준' 카테고리의 다른 글
  • [백준/JAVA]11653번 소인수분해
  • [백준/JAVA]2581번 소수
  • [백준/JAVA]9506번 약수들의 합
  • [백준/JAVA]2501번 약수 구하기
yxxjxxeee
yxxjxxeee
  • yxxjxxeee
    공부 일지
    yxxjxxeee
  • 전체
    오늘
    어제
    • study N
      • Framework
        • Spring
      • Language
        • JavaScript
        • C | C++
        • JAVA
        • PHP
      • CS
        • 네트워크
        • 자료구조
        • 데이터베이스
        • 운영체제
      • DBMS
        • MySQL
      • 코딩테스트 N
        • 백준 N
        • 프로그래머스
        • LeetCode
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 쇼핑몰 제작 프로젝트(PHP)
    • github
  • 공지사항

  • 인기 글

  • 최근 글

  • hELLO Designed By 정상우
    Version v4.10.2
yxxjxxeee
[백준/JAVA]1978번 소수 찾기
상단으로

티스토리툴바