728x90
Q. 주어진 string의 회문 구조를 파악하고, 맞으면 true 틀리면 false를 return하라.
--- Examples
palindrome("abba") === true
palindrome("abcdefg") === false
Code
😢 reverse int and string에서 배웠던 Skill로도 충분했지만, 다른 방법을 적용해보고 싶었다.
😊 every()를 이용하여 주어진 string argument를 검사하는 방식을 배울 수 있었다.
✔ Array.prototype.every()
every() 괄호 안에 test function을 작성하여, 해당 array값을 이용해 test할 수 있다.
위의 소스코드에서는 char === str[str.length - i - 1]을 이용하여 맨 앞과 맨 뒤의 값을 하나씩 이동하며 비교하였다.
자세한 every() 사용법은 helper methods category에서 다루도록 하겠다.
Full Code
function palindrome(str) { |
return str.split('').every((char, i) => { |
return char === str[str.length - i - 1]; |
}); |
} |
// function palindrome(str) { |
// let reversed = str |
// .split('') |
// .reverse() |
// .join(); |
// return str === reversed; |
// } |
'Algorithm > JavaScript(Node.js)' 카테고리의 다른 글
The Classic FizzBuzz(3의 배수와 5의 배수 찾기) Node.js(JavaScript) (0) | 2019.12.27 |
---|---|
Max Chars(가장 많이 쓰인 문자 찾기) Node.js(JavaScript) (0) | 2019.12.27 |
Reverse Int(숫자 거꾸로 바꾸기) Node.js(JavaScript) (0) | 2019.12.24 |
Reverse String(문자열 거꾸로 바꾸기) Node.js(JavaScript) (0) | 2019.12.23 |
백준 1546번: 평균(New average) Node.js(JavaScript) (0) | 2019.12.22 |