🗃️javascript/코테 프레임 문제

3-3 숫자만 추출(x)[splice 활용: 원본의 변화는 임시 변수에 담아 재할당]

하얀성 2024. 4. 16. 11:25


 

<에러코드>

splice는 제거한 문자를 반환한다. 

저렇게 onlyNum을 통해서 split과 splice를 동시에 문자열에 저장하고 있으니 계속해서 

원본 배열 수정한 값으로 출력도 못하고 

아래와 같은 수정안된 원본 배열만 받아보게 된것이다.

function solution(str) {
  let onlyNum = str.replace(/[^0-9]/g, "");
  if (onlyNum[0] === "0") {
    onlyNum.split("").splice(0, 1);
  }
  return onlyNum;
}
let str = "g0en2T0s8eSoft";
console.log(solution(str));


<제출답안>

수정된 배열을 다른 배열에 저장한 뒤, 문자열로 만들어 줘서 다시 원본 배열을 재정의 했다.

splice는 리턴할 공간이 없으니 제거만 하고 끝나도록 했다.

function solution(str) {
  let onlyNum = str.replace(/[^0-9]/g, "");
  if (onlyNum[0] === "0") {
    zerocheckArr = onlyNum.split("");
    zerocheckArr.splice(0, 1);
    onlyNum = zerocheckArr.join("");
  }
  return onlyNum;
}
let str = "g0en2T0s8eSoft";
console.log(solution(str));