프론트엔드/Tips

[자바스크립트] 팔린드롬인지 확인하기

Marshall K 2019. 4. 20. 16:29

간단한 스크립트를 통해 받은 스트링이 팔린드롬(palindrome)인지 확인합니다.


// 팔린드롬(회문) : 거꾸로 읽어도 내용이 같은 낱말 혹은 문장


palindrome = str => {
const blank = / /g, // 공백
special = /[`~!()-?;:'",.<>\{\}\[\]\\\/]/g, //문장 부호
string = String(str).toLocaleLowerCase().replace(blank, "").replace(special, ""), // 스트링으로 변환 후 소문자로 변환하고 공백과 문장 부호 제거
reverse = string.split("").reverse().join(""); // 스트링 순서 뒤집음

return (string === reverse)
}


palindrome = str => {
const string = String(str).toLocaleLowerCase().replace(/ /g, "").replace(/[`~!()-?;:'",.<>\{\}\[\]\\\/]/g, "");

return (string === string.split("").reverse().join(""))
}


알아보기 편하시라고 변수를 많이 선언했는데, 이렇게 하셔도 됩니다.



먼저, 입력받은 값을 나중에 글자 순서를 뒤집기 위해 스트링으로 변환합니다.

그다음, 대문자를 모두 소문자로 변환하고 글자 내부의 공백과 문장 부호까지 모조리 제거합니다.

다음, 글자 순서를 뒤집습니다.


만약 입력받은 값과 글자 순서를 뒤집은 결과가 같으면 true를, 그렇지 않으면 false를 리턴합니다.