코드카타 Day 2

DevOps 블로그·2021년 12월 14일
0

문제

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

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

예들 들어, x: 1234 return: 4321

x: -1234 return: -4321

x: 1230 return: 321

const reverse = x => {
  // 여기에 코드를 작성해주세요.

  if(x < 0){  
    let array = [x];
    let c = array.toString().split("").reverse();

      if(c[c.length-1] === "-"){
        let negative = c.pop();
        let sum ='';
        for(i=0; i< c.length; i++){
          sum += c[i];
        }

        let result = parseInt(negative + sum);
         return result;
          
      }

  } else {
    let array = [x];
  //   console.log(a);
    let d = array.toString().split("").reverse();
  //   console.log(b)

    let sum = '';
    for(let i=0; i < d.length; i++){
      sum += d[i]
    }
    sum = parseInt(sum);
    return sum;

  }

}



console.log(reverse(12345));
console.log(reverse(-12345));


module.exports = { reverse };

  • 오랫동안 문제를 고민해서 풀고나서 다른 동기들이 푼 것을 보니 내가 가장 킨 코드를 쓴 것이었다.
    Javascript 지식이 아직 많지 않은 이유도 있지만, 몇몇 분들은 정말이지 뛰어난 수학적인 머리를 활용해서 3~4줄정도 코드 길이로 문제를 푸신 분들도 계셨다. 아직, 내가 가야할 길이 아득히 많이 남아있음을 깨달았다. 나의 코딩테스트 초기의 모습을 남기기 위해서, 못난 코드이지만 이곳에 기록을 남긴다.
profile
IT 엔지니어를 향해 살아가는, 공부하는 기록들을 모아두고 있습니다.

0개의 댓글