합성수 찾기

송용진·2023년 8월 27일
0

알고리즘

목록 보기
85/173

약수의 개수가 세 개 이상인 수를 합성수라고 합니다.
자연수 n이 매개변수로 주어질 때
n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.

내 코드

def solution(n):
    answer = 0
    for i in range(1,n+1):
        cnt = 0
        for j in range(1,i+1):
            if i % j == 0:
                cnt += 1
        if cnt >= 3:
            answer += 1            
    return answer

예시 코드

def get_divisors(n):
    return list(filter(lambda v: n % v ==0, range(1, n+1)))

def solution(n):
    return len(list(filter(lambda v: len(get_divisors(v)) >= 3, range(1, n+1))))
profile
백엔드 개발자

0개의 댓글