[CodeKata] #04, sameReverse 함수

April·2021년 4월 30일
0
post-thumbnail

문제

숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.

num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)

예를 들어,

num = 123
return false 
=> 뒤집은 모양이 321 이기 때문
num = 1221
return true 
=> 뒤집은 모양이 1221 이기 때문
num = -121
return false 
=> 뒤집은 모양이 121- 이기 때문
num = 10
return false 
=> 뒤집은 모양이 01 이기 때문

💡 풀이

  1. 인자를 string으로 변환 String(num);
  2. 배열로 바꿔서 .split("") 역순을 하고 .reverse() 다시 문자열로 변환 .join("")
    • 지난번 문제풀때는 코드 한줄한줄 변환했었는데, 이번엔 한줄에 표현해 봄
  3. if문으로 return값 결정
  • 조건 : ((strNum[0] === '-') || (strNum !== numJoin))
    • (strNum[0] === '-') 첫번째 문자가 - 이거나, 또는 ||
    • String(num)strNum.split("").reverse().join("") 가 같지 않을 경우

✅ 코드

const sameReverse = num => {
  const strNum = String(num);
  const numJoin = strNum.split("").reverse().join("");
  // console.log(numJoin);
  if((strNum[0] === '-') || (strNum !== numJoin)){
     return false;
     } else if(strNum === numJoin) {
       return true;
  }
}

let num = 1234;
console.log(sameReverse(num));

🎈 What i learned

  • 이번 문제는 지난번 문제와 유사해서 생각보다 쉽게 풀렸다
  • 역시 경험이 중요한 듯!!
profile
🚀 내가 보려고 쓰는 기술블로그

0개의 댓글