프로그래머스 소수만들기 자바스크립트 풀이

» JavaScript

체육복

문제

https://programmers.co.kr/learn/courses/30/lessons/12977

코드

function solution(nums) {
  let answer = 0;

  // 1. 3자리 숫자 만들기
  const len = nums.length;
  for (let i = 0; i < len; i++) {
    for (let j = i + 1; j < len; j++) {
      for (let k = j + 1; k < len; k++) {
        const number = nums[i] + nums[j] + nums[k];
        if (isPrime(number)) answer++;
      }
    }
  }

  // 2. 소수 판별(2~number까지 하나씩 비교)
  function isPrime(number) {
    if (number < 2) return true;
    for (let i = 2; i < number; i++) {
      if (number % i == 0) return false;
    }
    return true;
  }

  return answer;
}

풀이

3개씩 더하는걸 반복시킨후 더해진 값이 소수가 맞는지 확인하도록 한다 2보다 작은지 or i값으로 나눠서 나머지가 0이 되지 않는지 확인후 조건에 맞을때만 answer에 1씩 더한다