function solution(n) {
var answer = 0;
n <= 7 ? answer = 1 : answer = Math.ceil(n / 7);
return answer;
}
-> 7보다 같거나 작은 경우를 따로 고려할 필요없이 그냥 Math.ceil(n / 7) 만 해도 된다!
6명 : 6 / 6 = 1판
4명 : 4 / 2(4와 6의 최대공약수) = 2판
10명 : 10 / 2(10과 6의 최대공약수) = 5판
-> 공식 : n / n과 6의 최대공약수
function solution(n) {
var answer = 0;
function fnGCD(a, b){
return (a%b)? fnGCD(b, a%b) : b;
}
return answer = n / fnGCD(n,6);
}
-> 맞긴 했는데 너무 복잡하게 푼 것 같다.
const solution = (n) => {
let piece = 6
while(true) {
if (piece % n === 0) {
break
}
piece += 6
}
return piece / 6
}
function solution(n) {
let pizza = 1;
while (pizza * 6 % n) {
pizza++;
}
return pizza;
}
위에서 배운 방식을 이용해서 풀어보았다.
function solution(slice, n) {
let pizza = 1;
while(pizza * slice < n){
pizza++;
}
return pizza;
}
아예 간단하게 아래처럼 해도 된다.
function solution(slice, n) {
return Math.ceil(n / slice)
}
문제 : 정수 배열 numbers가 매개변수로 주어질 때, numbers 원소의 평균값 return하기.
내 코드
function solution(numbers) {
let answer = 0;
let sum = 0;
for(let i=0;i<numbers.length;i++){
sum += numbers[i];
answer = sum / numbers.length;
}
return answer;
}
for문 단축
for(i of numbers) {
answer += i
}
참고) reduce 활용
function solution(numbers) {
var answer = 0;
answer = numbers.reduce((a, b) => a + b, 0)
answer /= numbers.length
return answer;
}