Example 1:
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
Example 2:
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
1번 솔루션.
문자열 > 배열로 변경해주어 값을 비교하여 해결하였다.
var isPalindrome = x => {
var stringToArr = String(x).split('')
var returnArrToString = stringToArr.join("");
var returnReArrToString = stringToArr.reverse().join("");
if(returnArrToString === returnReArrToString){
return true
}else{
return false
}
};
2번 솔루션.
while, shift, pop을 이용한 솔루션에 있는 더욱 효율이 좋은 코드이다. 전체값을 반환 후에 비교하여야만 한다고 생각하였는데 결국 length>1까지 맨 앞과 맨뒤만 while문으로 검사해주는 식으로도 접근이 가능하다는 점이 흥미로웠다.
var isPalindrome = function(x) {
const arr = String(x).split('');
while (arr.length > 1) {
if (arr.shift() !== arr.pop()) {
return false;
}
}
return true;
};
영문 철자변경 대문자 소문자 첫글자만 변경/ 전체대문자 변경 / 전체 소문자변경 (0) | 2023.07.10 |
---|---|
[LeetCode] Roman to Integer (0) | 2022.02.06 |
[LeetCode] Longest Common Prefix (0) | 2022.01.30 |
[Algorithm] LeetCode Twosum JavaScript hash table (0) | 2022.01.23 |
TIL 알고리즘 넘버 역순 반환하기 (0) | 2021.11.16 |