코드카타 2일차

김승수·2022년 12월 22일
0

코드카타 2일차

문제

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

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

예들 들어, x: 1234 return: 4321

x: -1234 return: -4321

x: 1230 return: 321

풀이

const reverse = x => {
  // 여기에 코드를 작성해주세요.
  let string = x.toString();
  const Array = string.split("");
  const reverses = Array.reverse();
  if (reverses[reverses.length - 1] === "-") {
    let spliceR = reverses.splice(0, reverses.length - 1);
    spliceR.unshift("-");
    let temp = "";
    for (let i = 0; i < spliceR.length; i++) {
      temp += spliceR[i];
    }
    return Number(temp);
  } else {
    let temp = "";
    for (let i = 0; i < reverses.length; i++) {
      temp += reverses[i];
    }
    return Number(temp);

  }
}

해석

  1. 문자열변환
  2. 문자열을 분리해서 배열에 넣기
  3. 뒤집기
  4. if문 통해서 맨끝 요소가 "-"일경우
    - 맨끝에서 하나를 뗀다.("-" 가 빠지겠죠)
    - 맨앞에 "-"를 추가한다
    - 문자열을 담을 빈 변수 설정
    - for문으로 빈 변수에 하나씩 넣는다.
  5. "-"가 아닐경우 문자열을 담을 빈 변수 설정 후 for문을 통해 빈변수에 하나씩 넣는다.
  6. return 으로 빈변수를 숫자화해서 리턴한다.

주의사항

끝자리가 0일경우 숫자화하면 뒤집었을때 0은 자동으로 없어진다.
(ex:1230 -> 0123 -> 123)

다시한번 인지할 함수

array.splice(배열변경시작 인덱스, 제거할 숫자, 추가할 요소)

profile
외부형 확장뇌

0개의 댓글