reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
예들 들어,
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
const reverse = x => {
let result = x.toString().split('').reverse().join('');
if (x >= 0) { return parseInt(result) }
else { return parseInt(result) * -1 }
}
toString()
을 이용해 string으로 변환했다. 결과 -> "1234"spilt("")
으로 쪼개 배열로 만들었다. 결과 -> ["1", "2", "3", "4"]reverse()
를 사용해 요소의 순서를 뒤집었다. 결과 -> ["4", "3", "2", "1"]join("")
을 사용해 다시 string으로 변환했다. 결과 -> "4321"result
를 선언해 할당했다.parseInt(result)
로 result를 숫자로 변환해 return 한다.parseInt(result)
에 -1을 곱해 다시 음수로 만들어 반환한다. const reverse = x => {
let str = x.toString();
const reverseArr = [];
if (str[0] === '-') {
for (let i = 1; i < str.length; i++) {
reverseArr.unshift(str[i]);
}
const newReverse = reverseArr.toString().replace(/,/g, '');
return -Number(newReverse);
}
else {
for (let i = 0; i < str.length; i++) {
reverseArr.unshift(str[i]);
}
const newReverse = reverseArr.toString().replace(/,/g, '');
return Number(newReverse);
}
}
for
문을 이용해 array에 하나씩 unshift
하는 방법으로 순서를 뒤집었다.toString()
을 이용해 string으로 변환했다. 결과 -> str "1234"toString
을 이용해 string으로 변환한다. 결과-> "4,3,2,1"replace(/,/g, '')
를 이용해 모든 ','를 ''로 변환하고 변수 newReverse에 저장했다. 결과-> newReverse "4321"Number(newReverse)
로 newReverse를 숫자로 변환하고, -를 붙여 반환한다.replace
와toString
을 사용했다. replace를 사용하면 모두 바꾸기가 될 줄 알았는데 처음 발견한 요소만 변환해 주는 메서드라는 것을 처음 알았고, replace를 활용하는 법을 검색하다 정규식에 대해 알게 되었다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions 을 참고해 정규식에 대해 더 공부해야겠다.