다음과 같은 숫자 배열이 있다고 가정해 보겠습니다. -
const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0];
배열에서 음이 아닌(양수 및 0) 숫자의 연속 그룹을 계산하는 JavaScript 함수를 작성해야 합니다.
여기에서처럼 인덱스 3에서 3(단 하나의 요소이지만 여전히 클러스터)이 연속적으로 음수가 아닌 항목이 있어 하나의 그룹을 형성한 다음 9에서 배열의 끝까지 두 번째 그룹을 형성합니다.
따라서 이 배열의 경우 함수는 2를 반환해야 합니다.
예시
다음은 코드입니다 -
const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0]; const positiveClusters = arr => { return arr.reduce((acc, val, ind) => { if(val >= 0 && (arr[ind+1] < 0 || typeof arr[ind+1] === 'undefined')){ acc++; }; return acc; }, 0); }; console.log(positiveClusters(arr));
출력
이것은 콘솔에서 다음과 같은 출력을 생성합니다 -
2