📅 2022.10.07
📖 파트너 : 모유진
문제설명 :
숫자인 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 이기 때문
Day2 와 다르게 음수인 숫자를 넘겨서 뒤집으면 - 부호 또한 같이 뒤집히므로 숫자로 생각하지 않고 문자열로 바꿔 그냥 reverse 메서드를 사용해 배열을 다 뒤집은 배열과 원본 배열을 하나하나 비교하면 된다
const sameReverse = num => {
const numArray = num.toString().split("");
console.log(numArray);
const reverseNum = [...numArray].reverse();
console.log(reverseNum);
for(let i = 0; numArray.length; i++){
if(numArray[i] === reverseNum[i]){
return true;
}
return false;
}
}
우선 인자로 받은 num을 문자열로 바꾼다음 배열로 반환하여 새로운 변수에 저장하고 배열 요소를 뒤집은 배열을 새로 저장한다
그리고 반복문안에서 요소 하나하나를 같은지 다른지 비교하여 boolean 값을 리턴한다
이 코드를 짤 때 유의해야 할 점은
[...원본배열]
전개연산자를 사용하여 새로운 배열로 반환하여야 한다numArray === reverseNum