Algorithm 14 : isSubsetOf

hyeongirlife·2021년 11월 11일
0

Algorithm

목록 보기
14/30

설명

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

예시

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

생각

sample의 요소가 base의 요소와 일치하면 true를 리턴하고 같지 않은 요소가 있다면 if문을 벗어나 false를 리턴해야겠다고 생각했다. 그래서 이중반복문 + 조건문을 활용했다.

풀이

const isSubsetOf = function (base, sample) {
  // TODO: 여기에 코드를 작성합니다.
  for (let i = 0; i < sample.length; i++) {
    for (let j = 0; j < base.length; j++) {
      if (sample[i] === base[j]) {
        return true
      }
    }
  }
  return false
}

깨달은 점

현재 문제는 시간복잡도 O(MN)의 해결책인데
현재보다 개선된 O(N
logN)의 레퍼런스는 봐도 모르겠다
시간복잡도부터 공부하는게 좋을 것 같다.

profile
머릿속에 있는 내용을 정리하기

0개의 댓글

관련 채용 정보