아래 링크의 강의 중 Section 5. Integer Reversal
의 내용을 추려 이번 글을 작성하였습니다.
The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy
function reverseInt(n) {
let reversed = String(n).split("").reverse();
if (reversed[reversed.length - 1] === "-") {
reversed.pop();// reversed = ["5", "1"]
reversed = reversed.join("");
return Number(reversed) - Number(reversed) * 2;
} else {
reversed = reversed.join("");
return Number(reversed);
}
}
console.log(reverseInt(15));// 51
console.log(reverseInt(-15)); // -51
n
을 문자열로 변환하여 역순으로 정렬한 배열로 만든 다음 변수 reversed
에 저장.reversed
의 마지막 값이 "-"
라면 pop()
으로 마지막 값 "-"
을 reversed
에서 덜어내고 숫자로 만든 reversed
의 2배만큼을 reversed
에서 빼준 값을 반환.join()
으로 배열 reversed
를 합쳐서 그 값을 반환.function reverseInt(n) {
const reversed = n.toString().split("").reverse().join("");
if (n < 0) {
return parseInt(reversed) * -1;
}
return parseInt(reversed);
}
console.log(reverseInt(15));// 51
console.log(reverseInt(-15)); // -51
n
을 문자열로 변환하여 역순으로 정렬한 다음 상수 reversed
에 저장.n
이 0
보다 작다면 출력값을 음수로 만들기 위해 parseInt(reversed)
에 -1
을 곱하여 반환.parseInt(reversed)
로 정수값을 출력.function reverseInt(n) {
const reversed = n.toString().split("").reverse().join("");
return parseInt(reversed) * Math.sign(n);
}
console.log(reverseInt(15));// 51
console.log(reverseInt(-15)); // -51
n
을 문자열로 변환하여 역순으로 정렬한 다음 상수 reversed
에 저장.Math.sign()
을 활용하여 입력값 n
이 음수라면 -1
, 양수라면 1
을 parseInt(reversed)
에 곱하여 결과값 반환.Math.sign(x)
Parameters
x
: 기본적으로 숫자가 들어가나, 숫자가 아닐 경우 자동으로 숫자로 변환하여 입력됨.
반환값
argument 양수
: 1
argument 음수
: -1
argument 0
: 0
argument -0
: -0
그 이외엔 NaN
을 반환.