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 |