ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [1978번] 소수 찾기 - Java
    카테고리 없음 2021. 11. 12. 20:42

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

     

    1978번: 소수 찾기

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

    www.acmicpc.net

     

    1. 배운점

     

    2. 개선할 점

    - 2581번 처럼 반복문 실행 횟수를 줄일 수 있는 방법 찾아 개선할 것

     

    3. 궁금한 점

     

    4. 풀이

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    
    		// import java.util.Scanner
    		Scanner scan = new Scanner(System.in);
    
    		//테스트 케이스 받아주기
    		int caseNum = scan.nextInt();
    
    		int count = 0;	// 소수 개수 반영할 변수 count
    		
    		// 케이스 수 만큼 반복문 실행
    		for(int i = 0; i < caseNum; i++) {
    
    			int number = scan.nextInt();
    
    			// 소수면 count++
    			if(isPrime(number)) {
    				count++;
    			}
    		}
    		// 결과 출력
    		System.out.println(count);
    	}
    	
    	// 소수인지 확인해주는 메서드
    	private static boolean isPrime(int number) {
    		// 입력된 숫자가 1인 경우 false 반환
    		if(number == 1) {
    			return false;
    		// 입력된 숫자가 1이 아닌 경우
    		} else {
    			for(int i = 2; i < number; i ++) {
    				// 2 ~ number - 1 사이 숫자 중 하나라도 나눠 떨어지는 경우
    				if(number % i == 0) {
    					return false;
    				}
    			}
    			return true;
    		}
    	}
    }

     

Designed by Tistory.