알고리즘

Frequency Counter - 빈도수 체크

hello-world 2023. 3. 5. 02:19
728x90
반응형

두배열 간에 같은 수 (제곱근 체크)

 

function same(arr1, arr2){
    if(arr1.length !== arr2.length){
        return false;
    }
    let frequencyCounter1 = {}
    let frequencyCounter2 = {}
    for(let val of arr1){
        frequencyCounter1[val] = (frequencyCounter1[val] || 0) + 1
    }
    for(let val of arr2){
        frequencyCounter2[val] = (frequencyCounter2[val] || 0) + 1        
    }
    //console.log(frequencyCounter1); //{ '1': 1, '2': 2, '3': 1, '5': 1 }
    //console.log(frequencyCounter2); //{ '1': 1, '4': 2, '9': 1, '11': 1 }
    for(let key in frequencyCounter1){
        if(!(key ** 2 in frequencyCounter2)){
            return false
        }
        if(frequencyCounter2[key ** 2] !== frequencyCounter1[key]){
            return false
        }
    }
    return true
}

same([1,2,3,2,5], [9,1,4,4,11])
728x90
반응형