- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- npm install -g yarn 에러
- TabNet
- pandas
- 역전파
- inner join
- 컴퓨터통신
- gpt-api
- 프로그래머스
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- yarn 설치 에러
- map
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크 답지
- 연관분석
- 부스트캠프
- gpt-api에러
- ERROR: install is not COMMAND nor fully qualified CLASSNAME.
- sql
- 딥러닝 개요
- 코딩테스트
- 프로그래머스 SQL
- MySQL
- pre-course
- python
- 깃
- HackerRank
- NumPy
- 컴퓨터 통신
- 딥러닝 역사
- 행렬
- 부스트캠프ai
최말짱 블로그
[프로그래머스] 소수찾기 python 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12921
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

첫 번째 푼 solution
def solution(n):
cnt=0
for x in range(1,n+1):
if len([ x for i in range(1,x+1) if x%i==0 ])==2:
cnt+=1
return cnt

흐음... 시간초과가 뜨길래 나름 리스트 컴프리헨션으로 풀었는데 효과가 없었다... ㅠㅠ
https://coding-of-today.tistory.com/169
파이썬(Python) - 소수 찾기 알고리즘 구현하기(Prime Number)
코딩테스트를 공부하거나 준비하다보면 특정 숫자가 소수(Prime Number)인지 아닌지를 판단해야할 때가 있다. 소수는 1과 자기자신을 제외하면 자연수 중에서 어떤 숫자로도 나누어 떨어지지 않는
coding-of-today.tistory.com
위 블로그를 통해서 해결책을 알아낼 수 있었다.
자연수의 약수를 구할 때는 자기자신의 제곱근까지만 확인해보면 된다는 것이다.
굳이 모든 수를 나눠볼 필요가 없다.
[그래서 최종 작성한 코드]
def solution(n):
# 1 5 25
# ex 26
ans=0
for x in range(2,n+1):
cnt=0
for i in range(2,int(x**(1/2))+1):
# 소수가 아닐때
if x%i==0:
cnt+=1
break
if cnt==0:
ans+=1
return ans
- for x in range에서 어차피 1은 의미가 없으므로 2부터 range 설정해주기
- 소수 판별하기 위해 나눠줄 때 x의 제곱근 만큼만 for문 돌려주기 !!
- (중요) if x%i==0이 성립하면 소수가 아니므로 바로 break 해주기
그 결과

통과완료 ㅎㅎ
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[python]성격 유형 검사하기(2022 KAKAO TECH INTERNSHIP) (1) | 2023.01.05 |
---|---|
[python]크기가 작은 부분 문자열 (0) | 2022.12.26 |
[python]k진수에서 소수 개수 구하기(2022 KAKAO BLIND RECRUITMENT) (2) | 2022.10.19 |
[python]크레인 인형뽑기 게임(2019 카카오 개발자 겨울 인턴십) (0) | 2022.10.18 |
[프로그래머스] 문자열 내 마음대로 정렬하기 python (0) | 2022.07.29 |