CodeKata. 숫자 앞뒤 뒤집기

ha ju·2021년 4월 28일
0

CodeKata.

🧐문제

reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.

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

예들 들어,
x: 1234
return: 4321

x: -1234
return: -4321

x: 1230
return: 321

  • 나의 코드
const reverse = (x) => {
  xArr = String(x).split("");     
  xReverse = xArr.reverse();
  reverseXString = xReverse.join("");
  reverseXNum = parseInt(reverseXString);
if(xReverse[xReverse.length-1]==="-") {
  console.log(xReverse[xReverse.length-1]);
  const correct= reverseXNum*(-1);
  return correct;
} 
return
reverseXNum;
}
  • 접근 방법
    1) 숫자를 문자열로 바꾸어주고 각각 자릿수 별 숫자로 나누어 배열로 만들어준뒤,
    [ '-', '1', '2', '3', '4' ]
xArr = String(x).split("");

2) 기존의 배열 내 데이터의 순서를 뒤에서부터 받아오는 배열로 바꾸어주고,
[ '4', '3', '2', '1', '-' ]

xReverse = xArr.reverse();

3) 배열 내 각 데이터를 하나의 문자열로 다시 합친 뒤,
'4321-'

  reverseXString = xReverse.join("");

4) 문자열을 다시 숫자 데이터로 바꾸어준다
4321

reverseXNum = parseInt(reverseXString);

-단, x가 마이너스 값을 가질 경우 4번 과정에서 3번 결과로 나왔던 숫자 뒤-가 누락되기 때문에 if 문으로 x가 마이너스 값을 가졌을 경우 최종 결과에 (-1)을 곱해줘야 한다는 조건을 붙여줘야 한다

if(xReverse[xReverse.length-1]==="-") {
    console.log(xReverse[xReverse.length-1]);
    const correct= reverseXNum*(-1);
    return correct;
  } 

⭐사용 문법 정리

-
String()괄호 안의 숫자 -> 문자열로 변환
parseInt( )괄호 안의 문자열 -> 숫자로 변환

배열 관련 메서드
split("") 메서드괄호 안의 요소를 기준으로 문자열 -> 배열로 변환
reverse() 메서드배열내 데이터 순서를 반대로 변환
join("") 메서드배열의 데이터들을 괄호 안의 요소를 사이에 두고 합침
reverse() 메서드배열내 데이터 순서를 반대로 변환

0개의 댓글