알고리즘 공부 - Day03

설하나·2022년 10월 7일
0

알고리즘

목록 보기
3/22
post-thumbnail

알고리즘공부 3일차,,! 오늘도 열심히 풀어보자구~

🖥 프로그래머스 🖥

1. 소수 찾기

이 문제는 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만드는 것이였다.

나의 풀이는 아래와 같다.

function solution(n) {
    let num = [];
    for (let i = 2; i <= n; i++) num.push(i);

    function prime(a) {
        let middle = Math.floor(Math.sqrt(a));
        for (let i=2; i <= middle; i++) {
            if (a%i==0) return false;
        }
        return true;
    }

    let answer = num.filter(prime).length;
    return answer;    
}

자꾸 효율성 테스트 4번에서 실패가 뜨는데 왜그러는지 알수가 없다,,,내장함수 하나는 더 만들어서 그런가,,? filter를 써서 그런지 함수를 밖으로 빼면 효율성테스트 2번에서 실패가나고 어떻게 해야하는지 고민을 더 해봐야겠다.

profile
Backend

0개의 댓글