문제 정의
문자열을 입력받아 모든 공백이 제거된 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다. 즉, 문자열 내의 모든 공백 문자를 빈 문자열('')로 대체하는 것이 목표입니다.
방법 1: 반복문을 활용한 구현
가장 기본적인 접근 방식은 문자열을 한 글자씩 순회하면서 공백이 아닌 문자만 결과 문자열에 이어 붙이는 것입니다.
const str = 'some random string ex a m pl e';
const removeSpaces = (str = '') => {
let res = '';
for(let i = 0; i < str.length; i++){
const el = str[i];
if(el !== ' '){
res += el;
continue;
};
};
return res;
};
console.log(removeSpaces(str));
출력 결과
somerandomstringexample
방법 2: replace() 메서드를 활용한 간결한 구현
실무에서는 정규 표현식과 replace() 메서드를 조합하는 것이 훨씬 간결하고 효율적입니다.
const str = 'some random string ex a m pl e';
const removeSpaces = (str = '') => str.replace(/\s/g, '');
console.log(removeSpaces(str)); // somerandomstringexample
여기서 /\s/g는 스페이스뿐만 아니라 탭, 줄바꿈 등 모든 종류의 공백 문자를 의미하며, g(global) 플래그는 문자열 전체에서 일치하는 모든 부분을 대상으로 치환하도록 지정합니다. 만약 일반 스페이스만 제거하고 싶다면 / /g 또는 단순히 ' '를 사용할 수도 있습니다.
마무리
반복문 방식은 로직의 동작 원리를 이해하는 데 도움이 되지만, 실제 개발에서는 replace()와 정규 표현식을 활용한 방법이 코드가 짧고 가독성이 높아 권장됩니다. 상황에 맞는 방식을 선택해 사용하시기 바랍니다.