reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x: 숫자 return: 뒤집어진 숫자를 반환!
예들 들어,
x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
let x = 1234;
.toString()
숫자를 문자로 변환
let str = x.toString(); // "1234"
.split('')
문자를 한글자씩 쪼개서 배열로 담기
let arr = str.split(''); // ["1","2","3","4"]
reverse()
배열을 뒤집어서 반환
let arrReverse = arr.reverse(); // ["4","3","2","1"]
join(’’)
으로 배열에서 빼서 합치기
arrReverse.join('') // "4321"
parseInt()
로 문자를 숫자로 변환하기
parseInt(arrReverse.join('')) // 4321
음수일 경우 let x = -1234
의-
까지 뒤집어져서 4321-
이 반환되기 때문에 조건을 주어야했다.
let arrReverse = arr.reverse(); // ["4","3","2","1","-"]
arrReverse 에 -
가 포함된 경우 반환된 숫자 앞에 -
를 붙이고 포함되지 않을 경우 parseInt(arrReverse.join(''))
를 리턴하는 것으로 해결했다.
if(arrReverse.includes('-')){
return -parseInt(arrReverse.join(''));
}else{
return parseInt(arrReverse.join(''));
}
let x = 1234;
const reverse = x => {
// 여기에 코드를 작성해주세요.
let str = x.toString();
let arr = str.split('');
let arrReverse = arr.reverse();
if(arrReverse.includes('-')){
return -parseInt(arrReverse.join(''));
}else{
return parseInt(arrReverse.join(''));
}
}
console.log( reverse(x) )
let x = 1234;
const reverse = x => {
if(x<0){
return -parseInt(x.toString().split('').reverse().join(''));
} else {
return parseInt(x.toString().split('').reverse().join(''));
}
}
console.log( reverse(x) )
let x = 1234;
const reverse = x => {
let toStringX = x.toString();
let splitedX = toStringX.split('');
let reversedX = splitedX.reverse();
let finalRoString = reversedX.join('');
let result = parseInt(finalToString);
it(x<0){
return result * -1;
} else {
return result;
}
}
console.log( reverse(x) )
굳이 배열에 -
을 포함하는지 찾을 필요 없었다..!!
그냥 들어온 인자인 x의 값이 음수인지 아닌지만 비교하면 되는거였다....😂
위 코드를 참고해서 조건은 x < 0
으로 간단하게 바꿨다.
let x = 1234;
const reverse = x => {
let str = x.toString();
let arr = str.split('');
let arrReverse = arr.reverse();
if(x<0){
return -parseInt(arrReverse.join(''));
}else{
return parseInt(arrReverse.join(''));
}
}
console.log( reverse(x) )
변수로 쪼개서 작성했던 코드들도 한줄로 합쳐서 작성했다.
let x = 1234;
const reverse = x => {
if(x<0){
return -parseInt(x.toString().split('').reverse().join(''));
} else {
return parseInt(x.toString().split('').reverse().join(''));
}
}
console.log( reverse(x) )
조금만 더 생각하면 간단한 방법을 찾아낼 수 있는데, 막상 하나씩 풀어가려니 생각이 잘 안난다😂 많이 풀어보고 다양한 방법으로 접근해보는 연습의 필요성을 느꼈다.