
😎풀이
arr2
를 오름차 순 정렬하여 불필요한 반복을 최소화 한다.
arr1
을 순회한다.
2-1. 정렬된 arr2
의 값과 비교하며 조건을 충족하는 요소가 있는지 확인한다.
2-2. 이 때, 조건은 |arr1[i] - arr2[j]| <= d
이다.
2-3. 모든 요소가 조건을 충족하지 않는다면, 결괏값에 1을 추가한다.
- 합산된 결괏값을 반환한다.
function findTheDistanceValue(arr1: number[], arr2: number[], d: number): number {
const sortedArr2 = arr2.toSorted((a, b) => a - b)
let result = 0
for(const num1 of arr1) {
let curLine = true
for(const num2 of sortedArr2) {
const curVal = Math.abs(num1 - num2)
if(curVal > d) continue
curLine = false
break
}
if(!curLine) continue
result++
}
return result
};