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

JavaScript에서 아나그램을 서로 매핑

<시간/>

애너그램 배열:

한 배열은 다른 배열을 얻기 위해 해당 배열의 요소를 임의화할 수 있는 경우 다른 배열의 아나그램입니다.

예를 들어 -

[1, 2, 3] and [2, 1, 3] are anagrams of each other.

서로의 아나그램인 arr1과 arr2라는 두 개의 배열이 있다고 가정합니다.

이 두 배열을 가져와 arr1 및 arr2와 같은 길이의 새 매핑 배열을 반환하는 JavaScript 함수를 작성해야 합니다. 매핑 배열은 arr2 배열에 있는 것처럼 arr1 배열 요소의 인덱스를 포함해야 합니다.

예를 들어 -

두 개의 입력 배열이 -

인 경우
const arr1 = [23, 39, 57, 43, 61];
const arr2 = [61, 23, 43, 57, 39];

그러면 출력은 다음과 같아야 합니다. -

const output = [1, 4, 3, 2, 0];

arr1의 인덱스 0에 있는 항목이 arr2의 인덱스 1에 있기 때문에

arr1의 인덱스 1에 있는 항목이 arr2의 인덱스 4에 있는 식입니다.

예시

이에 대한 코드는 -

const arr1 = [23, 39, 57, 43, 61];
const arr2 = [61, 23, 43, 57, 39];
const anagramMappings = (arr1 = [], arr2 = []) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++) {
      for(let j = 0; j < arr2.length; j++) {
         if(arr1[i] == arr2[j]){
            res.push(j);
         };
      };
   };
   return res;
};
console.log(anagramMappings(arr1, arr2));

출력

콘솔의 출력은 -

[ 1, 4, 3, 2, 0 ]