h e 1 1 o !
알고리즘 문제 / areThereDuplicates (수정 필요) 본문
숫자, 혹은 문자들이 인수로 들어온다.
중복 여부를 리턴한다.
지난번 빈도 수 세기 패턴에서 풀었던 문제를 다중 포인터 패턴으로 다시 풀었다.
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를 해줘야할까?
여기에 대해 다시 추가하기!
'a l g o r i t h m' 카테고리의 다른 글
알고리즘 풀이 / averagePair 다중 포인터 패턴(풀이 쓰기) (0) | 2022.07.12 |
---|---|
문제 해결 패턴 / 분할과 정복 (이진탐색 배우며 추가 예정) (0) | 2022.07.10 |
문제 해결 패턴 / 기준점 간 이동 패턴 (0) | 2022.07.10 |
알고리즘 자료구조 / 다중 포인터 패턴 (0) | 2022.07.05 |
문제해결 패턴 1 / 빈도수 세기 패턴 (0) | 2022.07.04 |