뒤집은 소수

bkboy·2022년 5월 17일
0

문제

N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하
는 프로그램을 작성하세요. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출
력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다. 첫 자리부터의 연속된 0은 무시한다.

제한사항

입출력 예

풀이

// 소수 판별
function isPrime(num) {
  if (num === 1) return false;
  for (let i = 2; i <= parseInt(Math.sqrt(num)); i++) {
    if (num % i === 0) return false;
  }
  return true;
}
// 메인 솔루션
function solution(arr) {
  let newArr = arr.map((e) =>
    Number(e.toString().split('').reverse().join('')),
  );
  let answer = newArr.filter((e) => isPrime(e));

  return answer;
}

let arr = [32, 55, 62, 20, 250, 370, 200, 30, 100];
console.log(solution(arr));
  • 소수 판별 함수는 그냥 필요하면 가져다 쓰자 ^^
  • filter는 조건에 맞는 원소를 걸러주는 것이기 때문에 true, false로 판단을 한다. isPrime 함수의 리턴값이 bool임으로 저런 사용이 가능한 것.
profile
음악하는 개발자

0개의 댓글