코드카타 #2
reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x: 숫자 return: 뒤집어진 숫자를 반환!
예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
문제를 보자마자 생각난건 정수를 분해!!!해서 배열에 넣고 리버스를 먹여서 순서를 바꿔야겠당!!!!(순수...)
하지만 예시처럼 음수인 경우 또는 0이 들어가 있는 경우는 생각지 못했다.
그래서 다시 사고방식을 수정해서 아래와 같은 논리로 진행하기로 결정했다.
const reverse = x => {
if(x>0){
const result = x.toString().split("").reverse().join("");
return parseInt(result);
}else if(x<0){
const result = x.toString().split("").reverse().join("");
return parseInt(result)*-1;
}else{
return parseInt(x);
}
}
오늘은 운서님의 코딩을 참고했다!(운서님 감사합니다~~!)
const reverse = x => {
let string = x.toString().split("").reverse();
if(string[string.length-1] === '-'){
string.pop();
string.unshift('-');
} else if (string[0] === 0){
string.shift();
stringunshift('-');
}
return Number(string.join(''));
}
pop으로 음수기호를 빼낸게 인상적이었다! 여기서 새로 배운 메서드들을 공부해보았다.
shift, unshift 기술블로그
unshift: 한마디로 새로운 요소를 배열 앞쪽에 넣기
shift: 배열 앞쪽의 요소를 없애기
parseInt와 Number의 차이
한마디로 쓰임은 같지만 태생적인 차이가 있다. 둘다 문자열로 된 숫자를 숫자로 바꿔주지만, Number의 경우 그것이 전부는 아니다.( 더 다양한 기능을 가지고 있음!)
오늘의 코드카타도 즐거웠다!