문제 설명 :
정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
왼쪽에서 0을 찾을 때마다 제거해주는 식으로 풀어야 한다고 생각해서 while 반복문을 사용했다.
잘라낸 값을 다시 변수에 넣어서 0이 왼쪽에 있을 때까지 반복 작업을 돌렸다.
나의 풀이 :
function solution(n_str) {
while (n_str.indexOf('0') === 0) {
n_str = n_str.slice(1);
}
return n_str;
}
그리고 다른 사람의 풀이를 봤더니
그냥 숫자형으로 바꿨다가 다시 문자형으로 바꾸면 간단하게 풀리는 문제였다...!!!!!!
const solution = (str) => String(Number(str));
const solution= s => +s+''
당연히 정규표현식을 이용하는 방법도 있다.
function solution(n_str) {
return n_str.replace(/^0+/, '');
}
사실 나도 문제를 읽자마자 정규식부터 떠올렸지만^.T
내가 스스로 짤 줄을 몰라서......괜히 모질라의 정규표현식 문서만 다시 훑어보다가 포기하고 익숙한 방법으로 풀었다.
정말 책을 구매해서 정규표현식을 익혀야만 할 것 같다...
정규표현식 연습하는 사이트도 찾았는데 그것도 번역기 돌려가면서 해봐야지.
'코딩테스트 > 프로그래머스 기초 트레이닝' 카테고리의 다른 글
[Javascript] 특이한 이차원 배열 1 (0) | 2023.06.13 |
---|---|
[Javascript] 특이한 이차원 배열 2 - every() (0) | 2023.06.13 |
[Javascript] Set 객체 (0) | 2023.06.10 |
[Javascript] 부분 문자열 이어 붙여 문자열 만들기 - 구조분해 (0) | 2023.06.06 |
[Javascript] for 반복문에서 i를 2씩 증가하는 법 (0) | 2023.06.06 |
[Javascript] l로 만들기 (0) | 2023.06.05 |
[Javascript] 배열의 원소만큼 추가하기 - new Array(), fill() (0) | 2023.05.27 |
[Javascript] 마지막 두 원소 - at() (, reverse()) (0) | 2023.05.27 |