코테문제
[백준] B1978
dekoms
2024. 1. 25. 03:32
Q. https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
# 아이디어
1000이하의 자연수이기 때문에 1~1000 사이의 자연수에 대해서만 생각하면 된다.
소수는 1과 자신으로만 나누어 떨어지는 숫자이기 때문에, 2부터 시작해서 1000까지 나누어 떨어지는지 확인하면 된다.
Sol2. 처음엔 배열에다가 숫자를 입력받았는데 그냥 입력 받을 때 소수를 판별할 수 있어서 for문을 하나로 합쳤다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int cnt = 0;
for (int i = 0; i < N; i++) {
int num = sc.nextInt();
if (num == 1) continue;
int div;
for (div = 2; div <= 1000 && div < num; div++) {
if (num % div == 0) {
break;
}
}
if (div == num) {
cnt++;
}
}
System.out.println(cnt);
sc.close();
}
}
💯💯💯
종료 조건과 cnt 증가하는 조건을 잘 확인하자!!!