산술 진행
산술 진행(AP)은 연속된 두 숫자의 차이가 상수 값(공통 차이라고도 함)이 되도록 하는 일련의 숫자입니다.
예를 들어, 1, 2, 3, 4, 5, 6,…은 1(2 -1)과 같은 공차가 있는 AP입니다.
문제
정수 배열 arr을 첫 번째이자 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.
우리 함수의 임무는 그 목록에서 가능한 크기 3의 산술 진행 수를 반환하는 것입니다. 각 진행에서 요소 간의 차이는 동일해야 합니다. 입력 배열은 오름차순으로 정렬됩니다. 예를 들어, 함수에 대한 입력이
인 경우예를 들어, 함수에 대한 입력이 -
인 경우입력
const arr = [1, 2, 3, 5, 7, 9];
출력
const output = 5;
출력 설명
원하는 AP가 -
이기 때문에[1, 2, 3], [1, 3, 5], [1, 5, 9], [3, 5, 7] and [5, 7, 9]
예시
다음은 코드입니다 -
const arr = [1, 2, 3, 5, 7, 9]; const countAP = (arr = []) => { let i, j, k; let { length: len } = arr; let count = 0; for (i = 0; i < len - 2; i++){ for (k = i + 2; k < len; k++){ let temp = arr[i] + arr[k]; let div = temp / 2; if ((div * 2) == temp){ for (j = i + 1; j < k; j++){ if (arr[j] == div){ count += 1; } } } } } return count; }; console.log(countAP(arr));
출력
5