팰린드롬(Palindrome)은 한국어로 회문입니다. 뜻은 앞으로 읽으나 뒤로 읽으나 동일한 단어나 문장을 말하는데 예를 들어 "level", "우영우", "토마토" 등이 있습니다. 이번에는 JavaScript로 팰린드롬 문자열인지 아닌지 확인하는 방법에 대해 알아보겠습니다.
1. 회문 확인 함수 작성하기
우선, JavaScript로 팰린드롬을 확인하는 간단한 함수를 작성해보겠습니다.
function isPalindrome(word){
const reversedWord = word.split("").reverse().join("");
if (reversedWord === word){
return true;
}else{
return false;
}
}
위 함수는 하나의 매개변수(단어)를 받습니다.
함수는 먼저 split("") 메소드를 사용하여 단어를 개별 문자로 분리한 배열을 생성합니다. 그 후 reverse()메소드를 사용하여 배열의 순서를 뒤집습니다. 마지막으로 join("") 메소드로 뒤집힌 배열의 요소를 다시 하나의 문자열로 결합합니다. 이 결과는 원래 단어의 역순이 됩니다.
그 후, if문을 사용하여 뒤집힌 단어가 원래 단어와 동일한지 확인합니다.만약 두 단어가 동일하다고 하면, 원래 단어는 팰린드롬이기 때문에 true를 반환합니다. 그렇지 않다면 원래 단어는 팰린드롬이 아니기 때문에 false를 반환합니다.
위 코드만 입력하면 당연히 제대로 작동하지 않습니다.
아래 코드를 위 함수 밑에 작성해주세요.
2. 테스트 코드 작성해서 확인해보기
다음은 이 함수를 여러 단어에 대해 호출하여 그 결과를 출력하는 테스트 코드입니다.
console.log(isPalindrome("racecar")); // true
console.log(isPalindrome("우영우")); // true
console.log(isPalindrome("samsung")); // false
console.log(isPalindrome("토마토")); // true
console.log(isPalindrome("토마토맛토마토")); // true
이렇게 테스트 코드까지 작성하면 각 단어가 팰린드롬인지 아닌지를 확인할 수 있습니다.
해당 팰린드롬 문제는 JavaScript에서도 간단하게 확인하는 함수를 작성할 수 있습니다. 위 내용은 문자열 처리와 조건문 등 기본적인 JavaScript의 기본적인 기능을 활용하기 때문에 좋은 예제가 될 수 있습니다.
'Programming > Javascript' 카테고리의 다른 글
[JS] JavaScript의 Spread 연산자 깊게 이해하기 (0) | 2023.07.05 |
---|---|
[JS] JavaScript에서 for...in문 이해하기 (0) | 2023.07.01 |
[JS] JavaScript 배열 메소드: indexOf, lastIndexOf, includes, reverse 이해하기 (0) | 2023.04.07 |