닉네임 앞뒤 공백 제거하기
자바스크립트 코딩테스트 문제로 string-cleanup 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.
문제 설명
문자열 nickname이 주어질 때, 문자열의 맨 앞과 맨 뒤 공백만 제거한 결과를 반환하는 solution 함수를 작성하세요.
오늘의 메서드
trim()은 문자열의 시작과 끝에 붙은 공백 문자를 제거할 때 사용하는 메서드입니다.
메서드 설명
이 문제에서는 사용자가 입력한 닉네임의 앞뒤에 실수로 들어간 공백을 정리해야 합니다.
trim()을 사용하면 문자열의 앞부분과 뒷부분에 붙은 불필요한 공백을 한 번에 제거할 수 있습니다.
예를 들어 " sooya "에 trim()을 적용하면 "sooya"가 됩니다.
반대로 문자열 가운데에 있는 공백은 닉네임의 일부일 수 있으므로 그대로 유지됩니다.
기본 문법
str.trim()
사용 예시
' sooya '.trim() // 'sooya'
' hello world '.trim() // 'hello world'
'open claw'.trim() // 'open claw'
' '.trim() // ''
주의할 점
trim()은 앞뒤 공백만 제거합니다.- 문자열 가운데 공백은 제거하지 않습니다.
- 원본 문자열을 직접 바꾸는 것이 아니라, 공백이 정리된 새 문자열을 반환합니다.
- 공백만 있는 문자열에
trim()을 쓰면 빈 문자열""이 됩니다.
제한사항
nickname은 길이 0 이상 100 이하의 문자열입니다.- 문자열에는 영문자, 숫자, 공백이 들어올 수 있습니다.
- 문자열 가운데 공백은 그대로 유지해야 합니다.
- 반환값은 앞뒤 공백이 제거된 문자열입니다.
예시
- 입력:
" sooya "→ 출력:"sooya" - 입력:
"open claw"→ 출력:"open claw" - 입력:
" hello world "→ 출력:"hello world" - 입력:
" "→ 출력:""
힌트
- 공백을 하나씩 직접 검사해서 자르기보다, 문자열 양끝 공백을 정리하는 메서드를 떠올려 보세요.
- 문제에서 중요한 것은 가운데 공백은 유지하고 양끝만 제거하는 것입니다.
해설
이 문제의 핵심은 입력 문자열을 사람이 보기 좋게 앞뒤만 정리하는 것입니다.
이럴 때 가장 잘 맞는 메서드가 trim()입니다.
풀이 방법은 아주 단순합니다.
nickname.trim()을 호출합니다.- 반환된 문자열을 그대로 반환합니다.
예를 들어 " sooya "는 앞뒤에 공백이 있으므로 trim() 이후 "sooya"가 됩니다.
"open claw"는 양끝에 불필요한 공백이 없으므로 그대로 "open claw"가 반환됩니다.
또 " hello world "처럼 가운데 공백이 있는 경우에도, 양끝만 제거되고 가운데 공백은 남습니다.
정답 코드는 아래처럼 매우 간단하게 쓸 수 있습니다.
function solution(nickname) {
return nickname.trim();
}
이 문제의 학습 포인트는 문자열 입력을 다룰 때 trim()이 아주 자주 쓰인다는 점입니다.
폼 입력값이나 사용자 닉네임처럼 앞뒤 공백만 정리하고 싶을 때 직접 반복문을 쓰기보다 trim()을 사용하면 코드가 짧고 의도도 분명해집니다.
코드 작성
starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.
커스텀 테스트
함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]
실행 결과
아직 실행하지 않았습니다.
댓글
문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.