[JavaScript] 정수인 숫자를 인자 받아 그 숫자를 뒤집어서 return

2022. 10. 6. 17:08CodingTest/JavaScript Q

(문제)

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

x: 숫자 return: 뒤집어진 숫자를 반환!
예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321

(정답)

const reverse = x => {
  let str = x.toString()
  let strArr = [];
  for (let i = str.length - 1; i >= 0; i--) {
    if (st[i] === '-') {
      strArr.unshift(str[i])
    } else {
      strArr.push(str[i])
  } 
}
  const joinStr =  strArr.join('')
  const num = Number(joinStr)
  
  return strArr;                     // [ '-', '4', '3', '2', '1' ]        
  return joinStr;                    // -4321   string
  return num;                        // -4321   number
}
console.log(reverse(-1234))         // -4321    number
  1. 숫자는 인덱스번호로 사용할수 없어 일단 x에 들어오는 숫자를 string으로 변환해줍니다
  2. 뒤집어진 숫자를 반환 해야되므로 반복문을 끝에서 앞으로 실행해주고
  3. 조건문으로 ("-") 대시가 들어가 있는 문자열은 unshift 하여 앞으로 추가해주고
  4. 그 밖의 경우에는 push를 해줍니다
  5. strArr 배열에 있는 값을 join()으로 문자를 하나로 합치고
  6. joinStr를 Number()로 숫자로 만들어 반환합니다.