Don't be afraid of challenges

[프로그래머스] Lv.1 소수 찾기 (진행중) -js 본문

이것이 코딩테스트다

[프로그래머스] Lv.1 소수 찾기 (진행중) -js

초아롱 2024. 4. 14. 22:50

https://school.programmers.co.kr/learn/courses/30/lessons/12921

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

나의 풀이(1)
function solution(n) {
    var answer = [];
    let arr = new Array(n).fill(1).map((v,i)=>i+1).map((s,j)=>{
        let count = 0;
        for(let k=1; k<=Math.sqrt(s); k++){
            if(s % k ==0)count += s / k == k ? 1 : 2;
        }
        if(count ==2) answer.push(s);
    })
    return answer.length;
}

 

 

이렇게 했더니... 정확성 테스트에선 통과되었지만 효율성 테스트에선 시간초과로 실패가 떴다 ^_^;

문제에 이제 익숙해졌나했더니 이제는 효율성을 찾는군 ㅠㅠ

 

나의 풀이(2)
function isDecimal(x){
     for(let k=2; k <= Math.sqrt(x); k++){
            if(x % k === 0) return false;
        }
    return true;
}

function solution(n) {
    var answer = 0;
    let arr = new Array(n-1).fill(2).map((v,i)=>v +=i).map((s,j)=>{
       if(isDecimal(s)) answer++;
    });
    return answer;
}

 

 

ㅋ 아니 어쩌라는거지 진짜

너무 감질맞소 자네,,,, 떼잉 쯧

 

일단 다음에 하는걸로