[Algorithm] 7 week(2.21 ~ 27) 2/3

Dev_min·2022년 2월 24일
0

algorithm

목록 보기
20/157

1122. Relative Sort Array

var relativeSortArray = function(arr1, arr2) {
    const count = new Map();
    for (let num of arr1) {
        if (count.has(num)) {
            count.set(num, count.get(num) + 1)
        } else {
            count.set(num, 1)
        }
    }
    
    const result = [];
    
    for (let num of arr2) {
        if(count.has(num)) {
            let amount = count.get(num);
            while(amount > 0){
                result.push(num);
                amount -= 1;
            }
            count.delete(num);
        }
    }
    
    for (let num of arr2) {
        if(count.has(num)) {
            let amount = count.get(num);
            while(amount > 0){
                result.push(num);
                amount -= 1;
            }
            count.delete(num);
        }
    }
    
    for (let num = 0; num <= 1000; num++){
        if(count.has(num)) {
            let amount = count.get(num);
            while(amount > 0){
                result.push(num);
                amount -= 1;
            }
            count.delete(num);
        }
    }
    
    return result;
};
profile
TIL record

0개의 댓글