replit code kata 2일차
문제
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
예들 들어,
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
const reverse = x => {
// 여기에 코드를 작성해주세요.
let string = x.toString().split("").reverse();
//console.log(string);
//console.log(string[string.length]);
if(string[string.length-1] === '-'){
string.pop(); //pop() 배열의 마지막 요소를 제거 한 후 제거한 요소를 반환
string.unshift('-');
console.log(string[string.length-1]);
}else if(string[0] === 0){
string.shift();
}
console.log(string);
return Number(string.join(''));
}
console.log('1230')
//1. x 숫자를 문자열로 치환
//2. 문자열로 치환된 숫자를 하나의 배열로 변환
//3. 배열의 자리를 뒤집는다.
//4. 만약 -가 들어가 있으면 -를 빼준다.
//5. 만약 배열 index 0번째 자리에 0이 올 경우, 배열 첫 자리를 생략해준다.
//6. 결과값의 배열을 하나의 string으로 붙여주고, 숫자로 변환한다.
module.exports = { reverse };
또 다른 방법
function reverse(x) {
let minus = false;
if (x < 0) {
x *= -1; // -를 곱해주어서 양수로 만들기
minus = true;
}
let numText = x.toString();
let result = '';
for (let i = numText.length-1; i >= 0; i--) {
result += numText[i];
}
// 기존 수가 음수일 경우, 다시 -를 곱해서 음수로 만들어준다.
result = minus ? result * -1 : Number(result);
return result;
}
알고리즘은 생각하면 할수록 끝이없는것같다...다르게 풀수있는 방법이 또 있을 것 같다.
Author And Source
이 문제에 관하여(replit code kata 2일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qqbck123/replit-code-kata-2일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)