BOJ 1978. 소수 찾기 (Python)
2021. 2. 15. 11:51ㆍProblem Solving/BOJ
BOJ 1978. 소수 찾기
https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
풀이
입력 받은 수들을 모두 한번씩 소수인지 검사 하면 된다.
is_prime()
함수는 간단하다.
def is_prime(n) -> bool: if n == 1: return False i = 2 while i < n: if n % i == 0: return False else: i += 1 return True
- 1은 소수가 아니므로 False 리턴
- 무언가로 나눠지면 소수가 아니므로 False 리턴 (자기 자신과는 무조건 나누어 떨어진다! 그러므로 루프를 자기 자신보다 작을때까지 돌린다.)
소스코드
import sys def is_prime(n) -> bool: if n == 1: return False i = 2 while i < n: if n % i == 0: return False else: i += 1 return True N = int(input()) nums = map(int, sys.stdin.readline().split()) count = 0 for n in nums: if is_prime(n) == True: count += 1 print(count)

반응형
'Problem Solving > BOJ' 카테고리의 다른 글
BOJ 10816. 숫자 카드 2 (Python) (0) | 2021.02.16 |
---|---|
BOJ 9012. 괄호 (Python) (0) | 2021.02.16 |
BOJ 1920. 수 찾기 (Python) (0) | 2021.02.15 |
BOJ 11650. 좌표 정렬하기 (Python) (0) | 2021.02.15 |
BOJ 10814. 나이순 정렬 (Python) (0) | 2021.02.10 |