소수 구하기 - JavaScript

temp·2022년 9월 27일
0

알고리즘

목록 보기
29/30

알고리즘 주차에 모의고사 문제로 나왔던 거.

문자열이 "97 75 88 99 95 92 73" 식으로 주어지면,
이 숫자들 중 소수인 수 중에서 최댓값, 소수가 아닌 수 중에서 최솟값을 문자열로 이어서 리턴하는 함수를 구현하는 것이 문제.

input = "97 75 88 99 95 92 73"
return = "97 75"

풀긴 했는데,, 음..

result = "97 75"


function solution(s) {
  let list = s.split(' ').map((el)=>+(el));
  
  const max_num = Math.max(...list)
  const list2 = [...new Array(max_num)].map((_, i) => i + 2);

  const not_prime = [];
  const prime = [];


  for (let i = 0; i < list.length; i++) {
      list2.find((el) => el !== list[i] && (list[i] % el === 0)) ? not_prime.push(list[i]) : prime.push(list[i])
  }

  return `${Math.max(...prime)} ${Math.min(...not_prime)}`
}

let s = "97 75 88 99 95 92 73";
console.log(solution(s))
profile
공부한 내용 정리중...

0개의 댓글

관련 채용 정보