1. areThereDuplicates라는 함수를 만드십시오. 그 함수에 여러개의 변수에 매개변수를 받아서 반복되는 것이 있으면 True로 반환하고 반복되는 것이 없으면 false로 반환하시오.
해답
// Frequency Counter방법(빈도 수 확인 방법) 숫자만 됨
function areThereDuplicates(){
let collection = {};
for(let val in arguments){
collection[arguments[val]] = (collection[arguments[val]] || 0) + 1
}
for(let key in collection){
if(collection[key] > 1){
return true;
}
}
return false;
}
// Multiple Pointers방법(두개 이상의 포인터) 숫자, 알파벳 됨
function areThereDuplicates(...args) {
// Two pointers
args.sort();
let start = 0;
let next = 1;
while(next < args.length){
if(args[start] === args[next]){
return true;
}
start++;
next++;
}
return false;
}
// One Linear Solution(선형 형식 방법) 숫자랑 알파벳 됨
function areThereDuplicates(){
return new Set(arguments).size !== arguments.length;
}
'IT > Algorithm(알고리즘)' 카테고리의 다른 글
Multiple Pointers(여러개 포인터) - averagePair (0) | 2023.04.17 |
---|---|
재귀함수호출(Recursion) (0) | 2023.04.16 |
Frequency Counter1(서로의 숫자 빈도수가 맞는지 확인) (0) | 2023.04.09 |
Divide and Conquer (0) | 2023.04.08 |
Sliding Window (슬라이딩 윈도우) (0) | 2023.04.08 |