프로그래머스 0 떼기 자바스크립트 알고리즘 풀이
문제
나의 풀이
코드
function solution(n_str) {
let targetIdx = 0;
for(let i = 0; i < n_str.length; ++i){
if(n_str.at(i) !== '0') {
targetIdx = i; break;
}
}
return n_str.slice(targetIdx);
}
다른 사람 풀이
const solution = (str) => String(Number(str))
const solution=s=>+s+''
😲… 이런 신박한 방법이 있구나
function solution(n_str) {
return n_str.replace(/^0+/, '');
}
정규표현식을 활용한 풀이도 있었다.
^
은 문자열의 시작을 의미하고, +
가 문자 뒤에 붙으면 해당 문자가 1개 이상 연속으로 나오는 것을 의미한다.
그러므로 문자열 앞에 위치한 0만 제거할 수 있게 된다.
정규표현식이 아직 익숙하지 않을 때가 많은데, 한 번 날 잡아서 규칙들을 쭉 공부해봐도 좋겠다.