
아래 링크의 강의 중 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의 indexevery()를 호출한 배열.