아래 링크의 강의 중 Section 4. Palindromes
의 내용을 추려 이번 글을 작성하였습니다.
The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy
function palindrome(str) {
const reversed = str.split("").reduce((rev, char) => char + rev, "");
if (reversed !== str) {
return false;
}
return true;
}
console.log(palindrome("abba"));
reversed
라는 변수에 reduce()
활용하여 문자열 str
를 역순 정렬한 다음 배열로 저장.if문
을 통해 reversed
와 str
가 일치하는지 여부를 판별하는 식 작성. 일치하지 않으면 false
, 일치하면 ture
반환.function palindrome(str) {
const reversed = str.split("").reverse().join("");
return str === reversed;
}
console.log(palindrome("abba"));
reversed
라는 변수에 reverse()
와 join()
을 활용하여 문자열 str
를 역순 정렬한 다음 배열로 저장.reversed
와 str
가 일치하면 true
, 일치하지 않으면 false
반환.function palindrome(str) {
return str.split("").every((char, i) => char === str[str.length - i - 1]);
}
console.log(palindrome("abba"));
split
으로 문자열 str
배열화.every()
method를 통해 대칭된 위치에 놓인 값의 일치 여부 확인하여 모든 값들이 대칭이라면 true
, 아니라면 false
를 반환.array.every((element, index, array) => {});
array
내 모든 값을 array[0]
부터 하나하나 탐색하여 function
에서 주어진 조건에 만족하는지 여부를 boolean
값으로 반환.
every()
는 총 3가지 argument
를 받는다.
array
내에서 탐색 중인 값.array
내에서 탐색 중인 element
의 index
every()
를 호출한 배열.