h e 1 1 o !

알고리즘 문제 / areThereDuplicates (수정 필요) 본문

a l g o r i t h m

알고리즘 문제 / areThereDuplicates (수정 필요)

hee.hee 2022. 7. 13. 10:05

숫자, 혹은 문자들이 인수로 들어온다.

중복 여부를 리턴한다.

 

지난번 빈도 수 세기 패턴에서 풀었던 문제를 다중 포인터 패턴으로 다시 풀었다.

 

 

function areThereDuplicates(...args) {
args.sort((a,b) => a > b);


let left = 0;
let right = 1;

while(right < args.length){
    if(args[left] === args[right]){
        return true;
    }
        left++;
        right++;
}
return false;
}

사실 처음 sort 해주는 부분, spread로 받아오는 부분은 레퍼런스를 보고 알았다.

빈도수 세기 패턴은 요소 마다 해당 키에 값을 추가하거나 만들어주면 돼서 sort가 필요 없었지만

이 풀이의 경우 0번째, 첫번째 요소에 포인터를 두고 시작하며 연속하는 두 요소를 비교 하기 때문에 정렬이 필요하다.

 

그런데 args는 왜 spred로 들어오는지 모르겠다 ㅜ

빈도 수 세기 패턴에서는 그냥 받아왔는데 왜 다중포인터 패턴에서는 spread를 해줘야할까?

여기에 대해 다시 추가하기!