JavaScript의 Anagram Finder

Muhammad Muzammil Hussain 2023년10월12일
  1. 아나그램의 개념
  2. JavaScript의 Anagram Finder
JavaScript의 Anagram Finder

이번 글에서는 자바스크립트에서 아나그램의 개념에 대해 알아보겠습니다. 문자열이 JavaScript에서 다른 문자열의 아나그램인지 확인하는 방법을 배웁니다.

아나그램의 개념

동일한 숫자와 동일한 문자를 가진 두 단어 또는 문자열을 아나그램 단어라고 합니다. 단어의 길이도 동일해야 합니다.

애너그램 단어를 사용하여 한 단어의 문자를 재배열하여 다른 단어를 생성할 수 있습니다. 다음은 애너그램 단어의 몇 가지 예입니다.

  1. 듣다침묵
  2. 삼각형적분
  3. 그들은 본다

우리가 알다시피 알고리즘의 도움으로 한 단어의 문자를 재정렬하고 두 번째 단어를 변환할 수 있습니다.

JavaScript의 Anagram Finder

JavaScript에서는 두 단어 또는 문자열이 서로의 아나그램인지 여부를 확인하는 프로그램을 만들 수 있습니다. 단어가 아나그램인지 여부를 확인하고 부울 결과를 true 또는 false로 반환하는 함수를 만들 수 있습니다.

먼저 두 문자열을 모두 정렬하고 정렬된 문자열을 비교하여 동일한지 확인해야 합니다.

다음 예제에서는 JavaScript 프로그램을 사용하여 두 단어에 대한 아나그램 검사 알고리즘을 수행합니다. 기본 JavaScript 메서드 split(), sort()join()을 사용하여 제공된 단어를 확인합니다.

split() 메서드는 문자열 문자를 분할하고 문자 배열을 생성하는 데 사용됩니다. sort() 메서드는 요소 배열을 정렬하는 데 사용됩니다.

join() 메서드는 요소 배열을 결합하고 요소 문자열을 생성하는 데 사용됩니다.

function checkAnagram(word1, word2) {
  let length1 = word1.length;
  let length2 = word2.length;
  if (length1 !== length2) {
    console.log(word1 + ' and ' + word2 + ' lengths did not match!');
    return
  }
  let wordA = word1.split('').sort().join('');
  let wordB = word2.split('').sort().join('');

  if (wordA === wordB) {
    console.log(word1 + ' and ' + word2 + ' are anagram to each other');
  } else {
    console.log(word1 + ' and ' + word2 + ' are not anagram to each other');
  }
}

let word1 = 'silent';
let word2 = 'listen';

checkAnagram(word1, word2)

word1 = 'shouts'

checkAnagram(word1, word2)

출력:

"silent and listen are anagram to each other"
"shouts and listen are not anagram to each other"

위와 같이 단어를 매개변수로 사용하는 let 유형 함수 checkAnagram()을 선언했습니다. 해당 함수 내에서 전달된 단어에 대한 조건문을 사용했습니다.

조건문을 사용하여 먼저 두 단어의 길이가 같은지 여부를 확인했습니다. 그렇지 않은 경우 로그에 길이가 일치하지 않음 메시지가 표시됩니다.

그런 다음 전달된 단어에 split(), sort()join()을 사용하여 단어를 정렬하고 정렬된 단어를 별도의 변수 word1word2에 저장했습니다.

그런 다음 조건문 if-else를 사용하여 두 변수의 값이 같은지 여부를 확인해야 합니다. 같으면 단어는 아나그램입니다. 그렇지 않다면 단어는 아나그램이 아닙니다.

silentlisten이라는 두 단어를 초기화하고 checkAnagram() 함수에 인수로 전달하고 word1을 업데이트하고 checkAnagram()을 다시 호출했습니다.

console.log() 메서드는 결과를 로그에 표시했습니다. 위의 소스 코드를 복사하여 저장하고 JavaScript 컴파일러를 사용하여 결과를 볼 수 있습니다.

관련 문장 - JavaScript String