높이가 맞춰지지않게 쌓인 벽돌이 있다. 몇 개의 벽돌 옮겨야 벽돌의 높이가 같아질 수 있을지 구해주는 프로그램을 제작하시오. 입력은 배열 형태의 정수이며, 같은 높이를 맞추기 위해 옮겨야 하는 벽돌의 개수를 반환한다. (단, 입력으로 들어오는 배열은 남는 벽돌 없이 높이가 딱 나눠 떨어지도록 들어온다.)
벽돌의 개수를 모두 더하고 놓여있는 벽돌의 개수로 나누어 높이(쌓아야하는 개수)를 구한다.
쌓여있는 벽돌의 개수(element)가 쌓여야하는 높이(height)보다 크면 element - height의 값을 배열에 추가한다.
let input3 = [
[5, 2, 4, 1, 7, 5],
[12, 8, 10, 11, 9, 5, 8],
[27, 14, 19, 11, 26, 25, 23, 15],
];
function answer(blocks){
let result = 0;
const height = blocks.reduce((accum, current) => accum + current) / blocks.length;
blocks.forEach(element => {
if(element > height){
result += element - height;
}
});
return result;
}
5
6
21