-
백준 1978번 문제 풀이개발/코테문제풀이 2023. 4. 27. 16:21728x90
코드는 아래와 같다.
/* 백준 1978번 문제풀이)** 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.** 입력)* 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다.* 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.** 출력)* 주어진 수들 중 소수의 개수를 출력한다.** 예제입력)* 4* 1 3 5 7** 예제출력)* 3**/package test_0427;
import java.util.Scanner;
public class test_0427_1 {public static boolean isPrime(int num){
// 숫자1은 소수가아니다.if(num == 1){return false;}// 2부터시작하여 입력값-1까지만 확인한다.// ex) num=10일때 10의 약수는 1, 2, 5, 10// 1과 자기자신의 수를 제외한 나머지수를 검사한다.// 그중 나눠서 나머지가 0인값이나오는 2와5가있기때문에 false를 리턴해준다.// 1과 자기자신이외의 약수가없다면 true를 리턴for(int i=2; i<num; i++){if(num%i ==0){return false;}}return true;}
public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("숫자의 갯수 N을 입력하세요.");int N = scan.nextInt();int cnt = 0;
for(int i=0; i<N; i++){System.out.println("숫자를 입력하세요.");int k=scan.nextInt();//isPrime이 true일때 cnt가 증가한다.if(isPrime(k)){cnt++;}}System.out.print(cnt);}}소수를 판별해줄수있는
isPrime 메서드를 만들어
입력한 숫자를
isPrime(k)에 넣어
소수가맞다면
cnt가 증가한다.
결국 마지막에
cnt를 출력해보면
소수의 갯수를 얻을 수 있다.
결과는 아래와 같다.
728x90'개발 > 코테문제풀이' 카테고리의 다른 글
백준 9063번 문제풀이 자바 (0) 2023.05.03 백준 2581번 자바 문제풀이 (0) 2023.04.27 자바 백준 9506번 문제풀이(약수들의 합) (0) 2023.04.26 백준 1075번 문제풀이(자바) BigInteger 사용하여 문제풀이해보기. (0) 2023.04.24 백준 3052번 자바풀이(HashSet) (0) 2023.04.17