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

두 문자열이 서로의 아나그램인지 확인하는 프로그램을 JavaScript로 작성하십시오.

<시간/>

두 개의 문자열 'a'와 문자열 'b'가 주어졌을 때 서로의 아나그램인지 확인하고 True/False를 반환해야 합니다. 예를 들어,

입력-1 -

String a= “india”
String b= “nidia”

출력 -

True

설명 − 주어진 문자열 'b'는 문자열 'a'의 모든 문자를 포함하므로 True를 반환합니다.

입력-2 -

String a= “hackathon”
String b= “achcthoon”

출력 -

False

설명 − 주어진 문자열 'b'에는 문자열 'a'가 있는 것처럼 모든 문자가 없으므로 False를 반환합니다.

이 문제를 해결하는 데 사용된 접근 방식

주어진 문자열 'a'와 'b'에서 길이가 같은지 확인한 다음 문자열을 정렬합니다. 두 문자열이 같으면 "True"를 반환합니다. 그렇지 않은 경우 "False"를 인쇄하십시오.

  • 두 개의 문자열 'a'와 'b'를 입력 받아

  • 함수 checkStringAnagrams(string a, string b)는 서로의 아나그램이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • 두 문자열의 길이를 찾아 동일한지 확인합니다.

  • 이제 사전순으로 두 문자열을 정렬하고 동일한지 여부를 확인하십시오.

  • 그에 따라 true 또는 false를 반환합니다.

예시

function checkStringsAnagram(a, b) {
   let len1 = a.length;
   let len2 = b.length;
   if(len1 !== len2){
      console.log('Invalid Input');
      return
   }
   let str1 = a.split('').sort().join('');
   let str2 = b.split('').sort().join('');
   if(str1 === str2){
      console.log("True");
   } else { 
      console.log("False");
   }
}
checkStringsAnagram("indian","ndiani")

출력

위의 코드를 실행하면 출력이 다음과 같이 생성됩니다.

True

문자열 'indian'은 다른 문자열 'ndiani'와 동일한 문자 집합을 가지므로 둘 다 서로의 아나그램이므로 True를 반환합니다.