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 |
댓글