알고리즘 주차에 모의고사 문제로 나왔던 거.
문자열이 "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))