[프로그래머스] 소수 찾기

ElenaPark·2021년 3월 2일
0

알고리즘

목록 보기
12/37
post-thumbnail

소수 찾기

소수: 1과 자기 자신 외에는 나누어 떨어지는 정수가 없는 양의 정수

풀이

function solution9(num) {
  let answer = new Array(num + 1).fill(true);
  for (let i = 2; i <= num; i++) {
    // true이면
    if (answer[i]) {
      for (let j = i + i; j <= num; j += i) {
        console.log(j); // i가 2일때 - 4 6 8 10 / i가 3일때 - 6 9 / i가 5일때 - 10이 차례로 false처리됨
        answer[j] = false;
      }
    }
  }
  let result = 0;
  for (let i = 0; i < answer.length; i++) {
    if (answer[i]) {
        // true일 경우에만 result 개수 증가 
      result += 1;
    }
  }
 
  return result - 2; 
  // -2를 하는 이유: answer array에서 0 과 1 두개의 값은 버리는 값이므로 제거
}

console.log(solution9(10)); // 4
console.log(solution9(5)); // 3
profile
Front-end 개발자입니다.

0개의 댓글