Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

문자열 1의 일부를 문자열 2로 재배열할 수 있는 경우 true를 반환하는 JavaScript 함수를 작성하는 방법은 무엇입니까?

<시간/>

string1의 일부를 string2로 재배열할 수 있으면 true를 반환하는 함수를 작성해야 합니다. str1 문자의 일부가 str2와 일치하도록 재배열될 수 있으면 true를 반환하고 그렇지 않으면 false를 반환하는 scramble(str1,str2)와 같은 함수를 작성합니다.

예를 들어 -

Let’s say string1 is str1 and string2 is str2.
str1 is 'cashwool' and str2 is ‘school’ the output should return true.
str1 is 'katas' and str2 is 'steak' should return false.

이를 위한 코드는 다음과 같습니다. 우리는 단순히 두 문자열을 분할 및 정렬한 다음 더 작은 문자열이 더 큰 문자열의 하위 문자열인지 여부를 확인합니다.

그렇게 하기 위한 전체 코드는 다음과 같습니다 -

예시

const str1 = 'cashwool';
const str2 = 'school';
const scramble = (str1, str2) => {
   const { length: len1 } = str1;
   const { length: len2 } = str2;
   const firstSortedString = str1.split("").sort().join("");
   const secondSortedString = str2.split("").sort().join("");
   if(len1 > len2){
      return firstSortedString.includes(secondSortedString);
   }
   return secondSortedString.includes(firstSortedString);
};
console.log(scramble(str1, str2));

출력

콘솔의 출력은 다음과 같습니다. -

true