const sameReverse = num => {
let answer = false;
let s = String(num).split("").reverse();
let n = String(num).split("");
for(i = 0; i < s.length; i++){
if(s[i] == n[i]){
answer = true;
} else {
return false;
}
}
return answer;
}
num을 문자열로 바꾸고 split()
해서 reverse()
한 s와 reverse()
하지 않은 n을 비교하려고 했는데 값이 같아도 계속 false
를 반환했었다. 알고보니 자바스크립트에서 두 배열은 참조형이기 때문에 이 경우는 값이 같아도 false
를 반환한다.😅 그래서 for
반복문으로 요소 하나하나 비교하고 같으면 true
, 같지않으면 false
를 반환했다.
const sameReverse = num => {
let s = num.toString().split("").reverse().join('');
let n = num.toString();
// if(s === n){ return true} else {return false}
return s === n;
}
다른분들 로직을 보고 수정한것. 문자열로 변환하고 비교하면 for
반복문을 쓸 필요도 없었고 if
조건문을 쓰지 않고 true
나 false
를 반환 하면 된다는것을 알게되었다.. 🙄
3일차 코드카타는 다시 봐도 이해하는데 오래걸려서 비교적 쉬웠던 4일차로 포스팅 하게 되었다. 알고리즘 너무 어렵읍니다...