머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.
function solution(box, n) {
let sum = 1;
let cm = box.map((cm) => sum *= Math.floor(cm/n));
return sum;
}
약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
function solution(n) {
let count = new Set()
let arr = [];
for(let i = 1; i <= n; i++){
for(let j = 2; j < i; j++){
if(i % j === 0){
console.log(i, j);
count.add(i);
arr.push(i);
}
}
}
return count.size;
// console.log(count);
// console.log(arr);
}
// i는 10만큼 커져야됨
// j는 i의 약수
// 1과 자기자신 포함 이미 2개
// 한 개 이상의 약수가 나오면 3개 이상임
// i를 j로 나눔 => 약수 구하기
// i <= n;
// j < i; 그대신 j는 2
// Set() 객체로 중복값 제거
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
function solution(numbers) {
numbers.sort((a,b) => b - a)
return numbers[0] * numbers[1];
}
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 4 3 2 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
i! ≤ n
function solution(n) {
for(let i = 1; i <= 10; i++){
if(factorial(i) === n){
return i;
} else if(factorial(i) >= n){
return i - 1;
}
}
}
function factorial(n){
let sum = 1;
for(let i = n; i >= 2; i--){
sum *= i;
}
return sum;
}