Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- DesignPattern
- 디자인 패턴
- 빈 조회 2개 이상
- 개발자부트캠프추천
- 인프콘 2024
- @FeignClient
- 파이썬
- Spring multimodule
- 항해99
- 프로그래머스
- JavaScript
- spring batch 5.0
- 1주일회고
- 단기개발자코스
- KPT회고
- Python
- 디자인패턴
- 커스텀 헤더
- 빈 충돌
- 구글 OAuth login
- TiL
- infcon 2024
- 코딩테스트 준비
- jwttoken
- 취업리부트코스
- 99클럽
- jwt
- 개발자 취업
- 전략패턴 #StrategyPattern #디자인패턴
- 프로그래머스 이중우선순위큐
Archives
- Today
- Total
m1ndy5's coding blog
[수학] 백준 1978 소수 찾기 with python 본문
https://www.acmicpc.net/problem/1978
import math
def is_prime_num(num):
if num == 1:
return 0
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return 0
return 1
n = int(input())
lst = list(map(int, input().split()))
cnt = 0
for num in lst:
if is_prime_num(num) == 1 :
cnt += 1
print(cnt)
각 수가 소수인지 아닌지 판별하는 문제였다.
소수는 1과 자기자신만을 약수로 갖는 수, 곧 다른 숫자로 나누어 떨어지면 안된다는 뜻이다.
36의 약수를 예시로 들어보자
1 2 3 4 6 9 12 18 36
6을 기준으로 왼쪽과 오른쪽이 짝을 이루는 것을 확인할 수 있다.
따라서 2부터 36의 제곱근인 6까지만 나눠보고 뒤는 굳이 안 나눠봐도 된다!
제곱근을 얻어주는 math.sqrt()를 사용하면 float형이기 때문에 int로 바꿔준다.
굳!
'알고리즘 with python > 수학' 카테고리의 다른 글
[수학] 백준 2609번 최대공약수와 최소공배수 with python (유클리드 호제법) (0) | 2023.03.01 |
---|---|
[수학] 백준 15649번 N과 M(1) with python (0) | 2023.03.01 |
[수학] 백준 4948번 베르트랑 공준 with Python(pypy3와 python3의 차이점은?) (0) | 2023.02.27 |
[수학] 백준 1929번 소수 구하기 with python (0) | 2023.02.27 |
[수학] 백준 8393번 합 with Python (0) | 2023.02.26 |