검색어 앞 공백만 제거하기
자바스크립트 코딩테스트 문제로 string-leading-whitespace-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.
문제 설명
검색창에 입력된 문자열 keyword가 주어질 때, 문자열의 앞쪽 공백만 제거한 결과를 반환하는 removeLeadingSearchSpaces 함수를 작성하세요.
오늘의 메서드
- 오늘 배울 메서드는
String.trimStart()입니다. - 문자열 시작 부분에 붙은 공백만 제거할 때 사용합니다.
메서드 설명
trimStart()는 문자열의 맨 앞에 있는 공백 문자를 제거한 새 문자열을 반환합니다.
문자열 가운데나 뒤쪽에 있는 공백은 제거하지 않습니다. 검색어 앞에 실수로 들어간 공백만 정리하고, 사용자가 뒤쪽에 입력한 공백은 그대로 남겨야 할 때 유용합니다.
기본 문법
str.trimStart()
- 별도 인자를 받지 않습니다.
- 반환값은 앞쪽 공백이 제거된 새 문자열입니다.
사용 예시
" camera".trimStart(); // "camera"
" red shoes ".trimStart(); // "red shoes "
"discount code".trimStart(); // "discount code"
주의할 점
trimStart()는 문자열 앞쪽 공백만 제거합니다.- 문자열 뒤쪽 공백까지 제거하고 싶다면
trim()을 사용해야 합니다. - 원본 문자열을 직접 바꾸지 않고 새 문자열을 반환합니다.
- 공백만 있는 문자열에 사용하면 모든 공백이 앞쪽 공백이므로 빈 문자열
""이 됩니다.
제한사항
keyword는 길이 0 이상 100 이하의 문자열입니다.keyword에는 영문자, 숫자, 공백이 들어올 수 있습니다.- 문자열 앞쪽 공백은 모두 제거해야 합니다.
- 문자열 가운데 공백과 뒤쪽 공백은 그대로 유지해야 합니다.
예시
- 입력:
" camera"-> 출력:"camera" - 입력:
" red shoes "-> 출력:"red shoes " - 입력:
"discount code"-> 출력:"discount code" - 입력:
" "-> 출력:""
힌트
- 앞쪽 공백만 정리해야 하므로
trim()보다 더 좁은 범위의 메서드를 떠올려 보세요. keyword.trimStart()를 호출하면 문자열 시작 부분의 공백만 사라집니다.
해설
이 문제는 검색어의 시작 부분에 붙은 불필요한 공백만 정리하는 문제입니다.
trimStart()는 문자열의 앞쪽 공백을 제거한 새 문자열을 반환합니다. 뒤쪽 공백은 그대로 두기 때문에, 문제에서 요구한 “앞 공백만 제거” 조건에 잘 맞습니다.
function removeLeadingSearchSpaces(keyword) {
return keyword.trimStart();
}
예를 들어 " red shoes "에 trimStart()를 적용하면 앞의 공백 두 칸만 제거되어 "red shoes "가 됩니다. 뒤쪽 공백 두 칸은 결과에 남아 있습니다.
이 문제의 학습 포인트는 trim(), trimStart(), trimEnd()의 차이를 구분하는 것입니다. 양쪽을 모두 정리할 때는 trim(), 앞쪽만 정리할 때는 trimStart()를 사용하면 의도가 분명한 코드를 만들 수 있습니다.
코드 작성
starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.
커스텀 테스트
함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]
실행 결과
아직 실행하지 않았습니다.
댓글
문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.