reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x : 숫자 return: 뒤집어진 숫자를 반환!
예시
예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
const reverse = x => {
// 여기에 코드를 작성해주세요.
let newStr = x.toString().split('');
let newArr = [...newStr].reverse();
if(newArr[newArr.length-1] ==='-') {
newArr = newArr.splice(0,newArr.length-1).join('');
newArr = parseInt(newArr);
return -newArr;
} else {
return parseInt(newArr.join(''));
}
}
📌 접근방식
String.prototype.split()
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
Number.prototype.toString()
Number 객체에서 toString() 메소드는 특정 진수로 객체를 표현한 문자열을 환원합니다.
배열의 순서 뒤집는 방법
- for반복문 사용
- Array.prototype.reverse()
reverse 메서드는 호출한 배열을 반전하고 원본 배열을 변형하며 그 참조를 반환합니다.
for반복문 예시
let arr = [1, 2, 3];
const reverseArr = [];
for(let i=arr.length-1; i>=0; i--){
reverseArr.push(arr[i]);
}
console.log(reverseArr) //[3, 2, 1]
if..else문
조건문 사용 : reverse처리하면 ['-']는 맨 끝에 있게 되니까, 배열의 마지막요소에 ['-']이 있으면, 그 앞까지 배열을 잘라서 다시 하나로 이어주고, 이를 다시 숫자형태로 반환해줘.💡 parseInt()와 Number()의 차이?
Number( ) : new 연산자를 사용하지 않고 Number 생성자 함수를 호출하면 Number 인스턴스가 아닌 숫자를 반환함. 이를 이용해서 명시적으로 타입을 변환하기도 한다.
불리언타입 변환 가능 : true - 0, false - 1
소수점타입 변환가능
parseInt( ) ,parseFloat( ) :
parseInt() 함수는 문자열 인자를 구문분석하여 특정 진수(수의 진법 체계에 기준이 되는 값)의 정수를 반환합니다.
불리언타입 변환 불가능(NaN 출력), 소수점타입 정수로만 변환가능.
Array.prototype.splice(index1, index2, 추가할 data)
splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.