Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

고리타분한 개발자

Integer Reversal 본문

JavaScript/Algorithm

Integer Reversal

sunlee334 2018. 5. 12. 01:09

목적


주어진 정수의 숫자가 역순으로 정렬된 새로운 정수를 반환하기.


example


reverseInt(15) === 51
reverseInt(981) === 189
reverseInt(500) === 5
reverseInt(-15) === -51
reverseInt(-90) === -9


들어가기에 앞서


const myNumber = 200
myNumber.toString().split('') // ['2','0','0']
myNumber
.toString()
.split('')
.join('') // 200

Math.sign(4000) // 1
Math.sign(-4000) // -1

parseInt(myNumber.toString()) / 2000 // 0.1



1. 


주어진 숫자를 역순으로 반환시키는 방법은 간단합니다.


const integer = 15
const reversed = integer
.toString()
.split('')
.reverse()
.join('')



하지만, 이렇게 처리할 경우 문제가 발생하게 되는데요.

만약, input 값에 음의 정수를 대입할 경우, 정확한 값을 반환하지 않습니다.


const integer = -15
const reversed = integer
.toString()
.split('')
.reverse()
.join('')


위와 같은 경우에 -51 을 출력해야 하지만 51을 출력하게 됩니다.


다음에 나오는 코드와 같이 조건문을 사용하여 음의 정수를 처리할 수 있습니다.


function reverseInt(n) {
const reversed = n
.toString()
.split('')
.reverse()
.join('')

if (n < 0) {
// 대입값이 음의 정수일 경우 결과값에 -1을 곱한다.
return parseInt(reversed) * -1
} else {
return parseInt(reversed)
}
}


2.

자바스크립트는 주어진 숫자가 양수인지, 음수인지, 0 인지 판별해주는 sign 이라는 매소드를 가지고 있습니다.

이번에는 위에서 조건문으로 처리한 부분을 sign 매소드를 사용하여 처리해 보겠습니다.


function reverseInt(n) {
const reversed = n
.toString()
.split('')
.reverse()
.join('')

return parseInt(reversed) * Math.sign(n)
}


'JavaScript > Algorithm' 카테고리의 다른 글

Array Chunking  (0) 2018.05.12
Fizz Buzz  (0) 2018.05.12
Paldinromes  (0) 2018.05.12
SentenceCapitalization  (0) 2018.05.12
Max Char  (0) 2018.05.12
Comments