- 소수를 찾을때 숫자n에서 반드시 1을 나눠주고, 자기자신을 나눠줄 필요는 없다. 숫자n이 1or자기자신이 아닌경우에 나누어 떨어지는 경우가 있을때는 소수가 아니다. 시간초과남..
프로그래머스 1단계 문제입니다.- math 라이브러리의 sqrt(number): number의 제곱근, round:반올림을 이용하여 모든 숫자를 탐색하지 않고 제곱근까지만 탐색하게 하였습니다.
제곱근으로 한 이유 12라는 수가있을때 이 수의 약수는 1,2,3,4,6,12이다 이 수를 보면 대칭적으로 곱했을때 12가 나오는걸 볼 수 있다. 그래서 12의 제곱근인 3.xxx를 반올림시키면 4가되는데 이 수를 12의 약수 제곱근 반올림시킨거로 나머지 연산을 해서 소수를 구할 수 있다import math def solution(n): answer = 0 for i in range(2, n+1): check=True rootI = round(math.sqrt(i)) for j in range(2, rootI+1): if i % j == 0: check=False break if check==True: answer+=1 return answer