Code Kata( 2 )

simoniful·2021년 5월 31일
0

CodeKata

목록 보기
2/7
post-thumbnail

문제

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

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

예들 들어,
x: 1234
return: 4321

x: -1234
return: -4321

x: 1230
return: 321


답안

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;
}

👉🏻 불리언으로 음수 값을 판단하고 해당 조건일 경우 -1을 곱하여 절대값 도출
👉🏻 역순으로 반복문을 수행하면서 reverse 수행(자동 형변환 활용)
👉🏻 음수 값에 대하여 다시 - 부호 설정


오답노트

const reverse = x => {
  if(x < 0) {
    let absX = Math.abs(x);
    return -Number(absX.toString().split('').reverse().join(""));
  } else {
    return Number(x.toString().split('').reverse().join(""));
  } 
}

👉🏻 String의 reverse(), Math의 abs() 활용
👉🏻 배열로 생각하여 형변환 활용
👉🏻 메서드 의존도를 낮춰야겠다

profile
소신있게 정진합니다.

0개의 댓글