JavaScript의 Anagram Finder
이번 글에서는 자바스크립트에서 아나그램의 개념에 대해 알아보겠습니다. 문자열이 JavaScript에서 다른 문자열의 아나그램인지 확인하는 방법을 배웁니다.
아나그램의 개념
동일한 숫자와 동일한 문자를 가진 두 단어 또는 문자열을 아나그램 단어라고 합니다. 단어의 길이도 동일해야 합니다.
애너그램 단어를 사용하여 한 단어의 문자를 재배열하여 다른 단어를 생성할 수 있습니다. 다음은 애너그램 단어의 몇 가지 예입니다.
듣다
및침묵
삼각형
및적분
눈
과그들은 본다
우리가 알다시피 알고리즘의 도움으로 한 단어의 문자를 재정렬하고 두 번째 단어를 변환할 수 있습니다.
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()
을 사용하여 단어를 정렬하고 정렬된 단어를 별도의 변수 word1
및 word2
에 저장했습니다.
그런 다음 조건문 if-else
를 사용하여 두 변수의 값이 같은지 여부를 확인해야 합니다. 같으면 단어는 아나그램입니다. 그렇지 않다면 단어는 아나그램이 아닙니다.
silent
와 listen
이라는 두 단어를 초기화하고 checkAnagram()
함수에 인수로 전달하고 word1
을 업데이트하고 checkAnagram()
을 다시 호출했습니다.
console.log()
메서드는 결과를 로그에 표시했습니다. 위의 소스 코드를 복사하여 저장하고 JavaScript 컴파일러를 사용하여 결과를 볼 수 있습니다.