목차
백준 단계별로 풀어보기
25.09.16
9단계: 약수, 배수와 소수 1
1978번: 소수 찾기
문제 링크 : https://www.acmicpc.net/problem/1978
문제 풀이
>> 문제를 풀기 위해 알아야 할 개념
- 소수란 무엇인가?
: 소수란 1보다 큰 자연수 중에서 1과 자기 자신만 약수로 가지는 수를 뜻한다.
--> 즉, 약수의 개수가 2개면 소수이다.
>> 풀이
- 수의 개수 N을 입력받아 int값으로 변환한다.
- N개의 수를 string 형식의 배열에 나눠서 입력 받고 결과값으로 출력할 변수를 선언한다.
- for 반복문을 N번 반복하면서 아래 과정을 실행한다.
- i번째 수를 int값으로 변환하고 소수의 개수를 담을 변수를 초기화한다.
- for 반복문을 1부터 i번째 수까지 반복하면서, i번째 수를 j로 나눴을 때 나머지가 0이면 j는 i번째 수의 약수이므로 소수의 개수를 1개 늘린다.
- 약수의 개수를 전부 계산한 다음 약수의 개수가 2개라면 그 수는 소수이므로 결과값을 1 늘린다.
- 소수의 개수를 모두 구했으므로 결과값을 출력한다.
정답 코드
class Backjoon
{
static void Main(string[] args)
{
int count = int.Parse(Console.ReadLine());
string[] input = Console.ReadLine().Split();
int result = 0;
for (int i = 0; i < count; i++)
{
int num = int.Parse(input[i]);
int factors = 0;
for (int j = 1; j <= num; j++)
{
if (num % j == 0)
factors++;
}
if (factors == 2)
result++;
}
Console.Write(result);
}
}
'Development > Baekjoon' 카테고리의 다른 글
[C#] 11653번: 소인수분해 (0) | 2025.09.18 |
---|---|
[C#] 2581번: 소수 (0) | 2025.09.17 |
[C#] 9506번: 약수들의 합 (0) | 2025.09.15 |
[C#] 2501번: 약수 구하기 (0) | 2025.09.14 |
[C#] 5086번: 배수와 약수 (0) | 2025.09.13 |