[TIL] split / reverse / join

Simple Key·2020년 4월 8일
0

알고리즘 코드타카를 하면서 알게된 함수들 split / reverse / join

.split( )

split는 문자열을 분할하는 메서드다.

사용법

string.split(seperator,limit);

seperator 에는 분할 기준을 넣어주고 limit에는 최대 분할 개수를 넣어주면 된다.

.reverse( )

reverse함수는 배열의 원소들의 순서를 반대로 뒤집어주는 함수이다. 새로 배열은 만들어 주는 것이 아니라 기존 배열의 순서만 역순으로 바꿔줌!

.join( )

join함수는 배열의 원소들을 하나의 값으로 바꿔준다.

let a = ['안', '녕', '하', '세', '요'];
a.join() 
// "안,녕,하,세,요"
a.join('/')
// "안/녕/하/세/요"
a.join("");
// "안녕하세요"

<문제>
함수의 인자로 number 가 들어왔을때 그 number의 순서를 역순으로 바꿔서 return 시키기
예시1: x = 1234 return 4321
예시2: x = -567 return -765
예시3: x = 1230 return 321

<내가 쓴 코드>

const reverse = x => {
  let arg = x +"";
  if(x >= 0){
    let result = arg.split("").reverse().join("");
    return Number(result);
  } else {
    let arr = arg.split("");
    let newArr = [];
    for(let i = 1; i < arr.length; i++){
      newArr.push(arr[i]);
    }
    let result2 = "-" + newArr.reverse().join("");
    return Number(result2);
  }
};

<reverse함수를 쓰지 않고 푼 코드>

function reverse(x){
  let trans = '' + x
  let rever = ''
  if( x < 0) {
    for(let i = trans.length-1 ; i > 0 ; i--){
      rever += trans[i]
    }
    return Number('-' + rever)
  } else if (x >= 0) {
      for(let i = trans.length-1 ; i >= 0 ; i--){
        rever += trans[i]
      }
    return Number(rever)
  }
}

<리플릿 솔루션>

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;
}
profile
프론트엔드 개발자 심기현 입니다.

0개의 댓글