오늘의 알고리즘!!
자연수 order이 주어지고 이수에 3,6,9 중 포함된 만큼의 수를 리턴
function solution(order) {
var answer = 0;
String(order).split("").map((ele)=>{
if(ele==='3') answer+=1
if(ele==='6') answer+=1
if(ele==='9') answer+=1
})
return answer;
}
주어진 숫자를 문자로 만든다음에 이를 split()로 분해하고 map()을 돌면서 수가 있으면 answer에 누적하도록 구성해보았다.
약수의 개수가 세 개 이상인 수는 합성수이다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 리턴
function solution(n) {
var answer = 0;
for(let i = 4; i <= n; i++){
for(let j = 2; j < i; j++){
if(i % j === 0){
answer += 1;
break;
}
}
}
return answer;
}
주어진 숫자를 중첩 for()문을 반복하면서 만약 어떠한 수라도 나눈 수의 나머지가 0이라면 이미 합성수가 3개이상이기때문에 1을 더하고 종료하면된다.