애너그램 배열:
한 배열은 다른 배열을 얻기 위해 해당 배열의 요소를 임의화할 수 있는 경우 다른 배열의 아나그램입니다.
예를 들어 -
[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 ]