합해서 나눠떨어지는 쌍 찾기
정수로 이루어진 배열 ar과 양의 정수 k가 있습니다.
다음과 같은 조건을 만족하는 배열 원소들의 쌍의 개수를 반환하는 함수를 작성해주세요.
i < j 이다.
ar[i] + ar[j] 는 k의 배수이다.
예를들어,
ar = [1, 2, 3, 4, 5, 6] 이고 k = 5 일때, 조건을 만족하는 쌍은 [1, 4], [2, 3], [4, 6] 세 쌍입니다.
그러므로 결과값은 3이 나와야 합니다.
/*
* @param {number} k
* @param {numnber[]} ar
* @return {number}
*/
divisibleSumPairs(k, ar) {
//code
}
배열 ar의 원소를 가지고 k의 배수를 찾는 문제이다.
특이한 점은
i < j 이다.
ar[i] + ar[j] 는 k의 배수이다.
첫번째 피연산자가 두번째 피연산자보다 인덱스 수가 크면 안된다.
function divisibleSumPairs(k, ar) {
// Complete the divisibleSumPairs function.
let count = 0;
ar.forEach((num,idx) => {
for (let j = (idx + 1); j < ar.length; j++) {
if ((num+ar[j])%k === 0) {
count++
}
}
});
return count;
}
테스트 통과