Code Kata_Reverse

dabin *.◟(ˊᗨˋ)◞.*·2021년 9월 1일
0

CodeKata

목록 보기
2/9
post-thumbnail

문제

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

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

예들 들어, x: 1234 return: 4321

x: -1234 return: -4321

x: 1230 return: 321

풀이

const arrayX = x.toString().split('');
 if(arrayX[0] !== '-') {
   return arrayX.reverse().join('')*1
 } else {
   arrayX.shift()
   return arrayX.reverse().join('')*(-1)
 }
}

//팀원분 덕분에 새로 알게된 Math.sign을 사용한 풀이
const reverse = x => {
  return parseInt(x.toString().split('').reverse().join(''))*Math.sign(x);
}

Math.sign(x)

어떤 수의 부호를 반환한다. 반환 값은 1, -1, 0, -0을 각각 반환하고, 조건에 맞지 않으면 NaN이 반환된다. 여기서 Math는 생성자가 아니기 때문에 항상 Math.sign()을 사용한다.

Math.sign(2); //2
Math.sign(-2); //-2
Math.sign(0); // 0
Math.sign(-0); // -0
Math.sign('dabin'); // NaN

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/sign

parseInt(string, radix)

문자열 인자를 구문분석하여 특정 진수의 정수를 반환한다. string이 문자열이 아니면 문자열로 변환하고, 문자열의 선행 공백은 무시한다. radix는 2와 26 사이의 진수인데, optional이다.

  • 첫번째 non-whitespace 문자가 숫자로 변환되지 않는 경우 NaN 반환
  • 숫자가 아닌 글자를 마주치면, 이 글자부터 전부 무시하고 이전에 파싱된 정수값을 반환
  • 맨 앞과 맨 뒤의 공백은 허용
  • 정수값으로 숫자를 잘라 반환

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt

string.split()

객체를 지정한 구분자를 이용해 여러 개의 문자열로 나누어 배열로 반환한다.

string.split([separator[, limit]])
  • separator(optional) : 원본 문자열을 끊어야 할 부분을 나타내는 문자열을 넣는다. 실제 문자열이나 정규표현식을 사용할 수 있다. separator 부분이 삭제되고 남은 문자열만 배열로 반환된다.
  1. 두 글자 이상일 경우, 문자열 전체가 일치해야 끊어진다.
  2. separator이 생략되거나 str에 separator이 등장하지 않는 경우, 반환되는 배열은 원본 문자열을 유일한 원소로 갖게 된다.
  3. separator이 빈 문자열인 경우 문자열의 모든 문자를 원소로 갖는 배열로 반환된다.
  4. separator이 원본 문자열의 처음이나 끝에 등장할 경우 반환되는 배열도 빈 문자열로 시작하거나 끝난다.
//1 & 4
const today = 'today is today'
const mySplit = today.split('today')
console.log(mySplit) // ["", " is ", ""]

//2 : 공백과 ;세미콜론 제거
const today = 'today is today'
const mySplit = today.split()
console.log(mySplit) // ["todayistoday"]

//3
const today = 'today is today'
const mySplit = today.split('')
console.log(mySplit) 
//["t", "o", "d", "a", "y", "i", "s", "t", "o", "d", "a", "y"]
  • limit(optional) : 끊어진 문자열의 최대 개수를 나타내는 정수

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/split

array.reverse

배열의 순서를 뒤집는다.

const arr = [1, 2, 3]
console.log(arr.reverse()) //[3, 2, 1]

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse

array.join

배열의 모든 요소를 연결해 하나의 문자열로 만든다.

arr.join([separator])

const arr = [1, 2, 3]
console.log(arr.join()) //"1,2,3"

//separator이 빈 문자열이면 모든 요소 사이 아무 문자도 없이 연결
console.log(arr.join('')) //"123"
console.log(arr.join('-')) //"1-2-3"

//arr.length=0이면 빈 문자열 반환
const arr = [];
console.log(arr.join()) // ''

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join

profile
모르는것투성이

0개의 댓글