검색어 앞 공백만 제거하기

자바스크립트 코딩테스트 문제로 string-leading-whitespace-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.

js-basic easy string-leading-whitespace-methods 함수명: removeLeadingSearchSpaces 제한 시간: 200ms

문제 설명

검색창에 입력된 문자열 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를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.

JavaScript 에디터 로딩 중...

커스텀 테스트

함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]

아직 실행하지 않았습니다.

실행 결과

아직 실행하지 않았습니다.

예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.

댓글

문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.