두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다.
1.부분집합 요소
, 2.확인대상 배열
, for문 3.시작 값
을 전달한다. 3.시작 값
부터 부분집합 2.확인대상의 배열
길이 만큼 돌려서 1.부분집합 요소
가 있는지 확읺난다.1.부분집합 요소
가 있다면 1.부분집합 요소
의 인덱스를 return 한다1.부분집합 요소
가 없다면 return -1 한다.3.시작 값
인자로 넘긴다const isSubsetOf = function (base, sample) {
let initialIdx = 0;
// 중복되는 요소는 없다
// 두 배열 모두 정렬
base.sort((a,b)=>a-b);
sample.sort((a,b)=>a-b);
//function에서 for문 돌려 배열 비교
function isSub(sampleNum, base,initialIdx){
for(let i = initialIdx;i<base.length;i++){
if (sampleNum===base[i])return i
// console.log(sampleNum,i)
}return -1
}
// function 값이 -1일 경우 false
for(let x = initialIdx; x<sample.length; x++){
initialIdx = isSub(sample[x],base,initialIdx);
if(initialIdx===-1)return false
}
return true
};