728x90
반응형
https://www.acmicpc.net/problem/1978
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력 1
4
1 3 5 7
예제 출력 1
3
✔️ Code
n = int(input())
nums = list(map(int, input().split()))
result = 0
for num in nums:
cnt = 0
if num > 1:
for i in range(2, num):
if num % i == 0:
cnt += 1
if cnt == 0:
result += 1
print(result)
✏️ Comment
가장 기본 중의 기본 소수찾기..... 근데 잘 모르겠어서 결국 구글링해서 어떤 방식으로 푸는지 알아봄. ㅋㅋ ㅋ 나는 구현, 수학 문제에 특히 약하다.... 토요일에 첫 코테 보고 내가 기본적인 코딩 능력도 많이 부족하다는 것을 깨닫고 solved.ac class 2부터 순서대로 격파하면서 실력을 다시 쌓아보려고 한다..... 이번주 금요일까지 class 2를 깨는 것이 목표다.....
문제 풀이는 간단하다. 주어진 숫자 num에 대해서 1을 제외하고 2부터 num-1 까지 for문을 돌면서 num % i를 수행했을 때 나눠지면 소수가 아니므로 소수가 아닌 숫자들의 개수를 cnt로 세어서 마지막에 빼주면 된다.
728x90
반응형
'백준 > 수학' 카테고리의 다른 글
[백준🥉1] #2609 최대공약수와 최소공배수 (Python) (0) | 2023.01.12 |
---|---|
[백준🥈3] #1929 소수 구하기 (Python) (0) | 2023.01.11 |
[백준🥈5] #1010 다리 놓기 (python) (0) | 2022.11.28 |
[백준] #5347 LCM (python) (0) | 2022.04.14 |
[백준] #2960 에라토스테네스의 체 (python) (0) | 2022.04.05 |
댓글