다음과 같은 정수 배열(양수, 음수 및 0)이 있다고 가정합니다. -
const arr = [23, -1, 0, 11, 18];
이러한 배열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다. 그런 다음 함수는 양수, 음수 및 0이라는 세 가지 다른 그룹 모두에 대한 분수 비율을 찾아야 합니다.
예를 들어 -
위 배열의 경우 길이는 5이고 이 배열의 출력은 -
여야 합니다.const output = [.2, .2, .6];
출력 배열에는 항상 음수, 0 및 양의 정수의 분수 비율을 나타내는 3개의 숫자가 포함됩니다. 답을 확인하는 한 가지 대략적인 방법은 이 세 값을 더하고 1에 가까운지 확인하는 것입니다. 맞으면 문제를 올바르게 해결했을 가능성이 큽니다.
예시
이에 대한 코드는 -
const arr = [23, -1, 0, 11, 18]; const findRatio = (arr = []) => { const { length } = arr; const res = [0, 0, 0]; for(let i = 0; i < arr.length; i++){ const el = arr[i]; const key = el / Math.abs(el || 1); res[key + 1]++; }; return res.map(el => el / length); }; console.log(findRatio(arr));
출력
콘솔의 출력은 -
[0.2, 0.2, 0.6]