소수 개수 세기

문제


공백으로 구분된 숫자 문자열 n 입력으로 받습니다. 입력된 n 포함된 숫자 소수의 개수를 반환합니다.

여기서 소수란 1 자기 자신만을 약수로 가지는 양의 정수를 말합니다.

 

예시


const test_case = '1 2 3 4 5 6 7 8 9' // 4출력

 

풀이


function countPrimes(n) {
    return n
        .split(' ')
        .map(Number)
        .filter((e) => {
            let prime = true;
            if (e === 1) prime = false;
            for (let i = 2; i < e; i++) {
                if (e % i === 0) {
                    prime = false;
                    break;
                }
            }
            return prime;
        }).length;
}

공백이 포함된 n을 일단 각각의 숫자로 변환한다음에 그 숫자들을 각각 소수 검사를 하고 그 검사에 통과된 소수들의 길이를 리턴합니다.

'코딩문제' 카테고리의 다른 글

중복되지 않은 좌표 구하기  (0) 2024.04.08
소인수분해 결과 출력하기  (0) 2024.04.07
K번째로 약수를 찾아라  (0) 2024.04.07
사다리 오르내리기  (0) 2024.04.03
특별한 분수  (0) 2024.04.03