[Algorithm #2] 숫자 뒤집어 반환(feat. dynamic array methods)

Kayoung Kim·2021년 10월 4일
0

Algorithm

목록 보기
2/4
post-thumbnail

Assignment

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

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

예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321

문제 쪼개기

  1. x를 인자로 받는 reverse 함수를 만든다.
  2. x 인자를 배열로 바꿔준다. 왜? 인덱스로 접근해서 뒤집어주려고
  3. 배열 인덱스 순서를 바꿔준다. => numArray.reverse()
  4. 조건1) 마지막 숫자에 -를 붙여준다. (그냥 '-'만 붙이면 NaN 처리됨)
  5. 조건2) 숫자 맨 앞의 0은 삭제한다.
  6. 배열을 Number로 바꿔서 return 해준다.

문제 해결

const reverse = x => {
  let numArray = (x + '').split('').reverse();
  if (numArray.includes('-')) {
    numArray.pop();
    numArray.unshift('-');
  }
  if (numArray.includes(0)) {
   numArray.shift(0);
  }
  return Number(numArray.join(''))
}

String.prototype.split()

  • String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나누어주는 메서드
    str.split([seperator[, limit]])
  • 문자열에서 seperator 부분은 삭제되고 남은 문자열이 배열로 반환된다.
  • limit을 지정하면 끊는 횟수를 제한할 수 있다.
var myString = 'Hello World. How are you doing?';
var splits = myString.split('',3);
//문자열을 공백으로 끊고 처음 3개의 문자열을 반환
console.log(splits); //["Hello", "World.", "How"]

Array.prototype.reverse()

  • 배열의 순서를 반전하는 메서드
  • split()과 함께 쓸 수 있다. myString.split().reverse()

Array.prototype.pop()/unshift()/shift()

Array/String.prototype.include()

  • 배열/문자열이 특정 요소를 포함하고 있는지 판별한다.
  • 반환 값은 Boolean (T/F)
    arr/str.includes(valueToFind[, fromIndex])

cf. Array/String.prototype.indexOf

  • 호출한 배열/string 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환한다. 일치하지 않으면 -1을 반환한다.
    arr/str.indexOf(searchValue[, fromIndex])

Array.prototype.join()

  • 배열의 모든 요소를 연결해 하나의 문자열로 만들어주는 메서드
    arr.join([seperator])
const elements = ["Fire", "Air", "Water"];

console.log(elements.join());
// "Fire,Air,Water"
console.log(elements.join(""));
// "FireAirWater"
console.log(elements.join("-"));
// "Fire-Air-Water"

Number()

0개의 댓글