본문 바로가기

IT/Algorithm(알고리즘)

Frequency Counter2(숫자나 글자에서 반복되는 것 있는지 확인)

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;

}