728x90
반응형
References
아래 링크의 강의 중 Section 4. Palindromes의 내용을 추려 이번 글을 작성하였습니다.
The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy
Solution 1. my solution
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반환.
Solution 2. return boolean directly
function palindrome(str) {
const reversed = str.split("").reverse().join("");
return str === reversed;
}
console.log(palindrome("abba"));
reversed라는 변수에reverse()와join()을 활용하여 문자열str를 역순 정렬한 다음 배열로 저장.reversed와str가 일치하면true, 일치하지 않으면false반환.
Solution 3. with every()
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를 반환.

every()
array.every((element, index, array) => {});
array 내 모든 값을 array[0]부터 하나하나 탐색하여 function에서 주어진 조건에 만족하는지 여부를 boolean값으로 반환.
every()는 총 3가지 argument를 받는다.
- element: 현재
array내에서 탐색 중인 값. - index(Optional):
array내에서 탐색 중인element의index - array(Optional):
every()를 호출한 배열.
함께 보기
728x90
반응형
'👩💻 Programming > Coding Test 문제 풀이' 카테고리의 다른 글
| 문자열 내 최빈값 구하기(MaxChars) (0) | 2022.04.04 |
|---|---|
| 정수 뒤집기(Integer Reversal) (0) | 2022.04.04 |
| 문자열 뒤집기(String Reversal) (0) | 2022.04.04 |
| 이진 탐색(Binary Search) (0) | 2022.04.04 |
| [BaekJoon] 2588번 곱셈_JavaScript (0) | 2022.04.01 |
댓글