TIL 36. CodeKata(Reverse Number)

📌 문제 1

reverse 함수에 정수인 숫자를 인자로 받는다.
그 숫자를 뒤집어서 return하시오.

x: 숫자
return: 뒤집어진 숫자를 반환!

ex) x: 1234 => 4321
x: -1234 => -4321
x: 1230 => 321

💻 풀이방식

🎈 생각하기

  • 숫자 자체를 reverse하는 API가 있으면 사용하겠지만.. 있는것인지 없는것인지 떠오르지 않는다.

  • 그러면 숫자를 string으로 만들고 reverse시키는 방안으로 생각해본다.

  • string으로 만든 다음 split으로 문자 하나하나를 array의 element로 만든다.

  • 만든 element를 reverse시킨다.
    (이 때 조건문으로 뒤에 -가 있는 경우는 pop을 사용해서 제거하고 unshift로 앞에 '-'를 넣어준다.)
    (숫자가 1230처럼 reverse해서 앞 element가 0이 되는 경우는 바로 Join과 Number를 사용한다.)

  • 마지막 조건으로 Join과 Number를 사용하여 배열을 하나의 수로 반환한다.

const Reverse = num => {
	const reverseNum = num.toString().split('').reverse();
    		if(reverseNum[reverseNum.length - 1] === '-') {
    			reverseNum.pop();
                	reverseNum.unshift('-')
                	return Number(reverseNum.join(''));
    		} else {
            	return Number(reverseNum.join(''));
            }
}

좋은 웹페이지 즐겨찾기