코딩테스트 문제 3

Jelkov Ahn·2021년 11월 11일
0

코딩테스트

목록 보기
3/8
post-thumbnail

문제

두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다.

주의사항

base, sample 내에 중복되는 요소는 없다고 가정합니다.

입출력 예시

let base = [1, 2, 3, 4, 5];
let sample = [1, 3];
let output = isSubsetOf(base, sample);
console.log(output); // --> true

sample = [6, 7];
output = isSubsetOf(base, sample);
console.log(output); // --> false

base = [10, 99, 123, 7];
sample = [11, 100, 99, 123];
output = isSubsetOf(base, sample);
console.log(output); // --> false

작성코드

const isSubsetOf = function (base, sample) {
  // TODO: 여기에 코드를 작성합니다.
  base.sort(); // 순서대로 정열해서 시간복잡도를 해결한다.
  sample.sort(); // 순서대로 정열해서 시간복잡도를 해결한다.
  for(let i = 0; i < base.length; i++) {
    if(base[i] === sample[0]) {
      sample.shift(); //앞에서 하나씩 빼서 sample을 반복문도는것 처럼 만들어준다. 같지 않은게 있으면 false를 리턴한다.
    }
  }
  if(sample.length === 0){
    return true;
  }
  return false;
};
profile
끝까지 ... 가면 된다.

0개의 댓글