[Algorithm] 003

홍효정·2020년 10월 11일
0

Algorithm

목록 보기
4/6

문제




1

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를 반환했다.


2

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조건문을 쓰지 않고 truefalse를 반환 하면 된다는것을 알게되었다.. 🙄

3일차 코드카타는 다시 봐도 이해하는데 오래걸려서 비교적 쉬웠던 4일차로 포스팅 하게 되었다. 알고리즘 너무 어렵읍니다...

profile
HHJ velog 🍔

0개의 댓글