사용자 등록 문자열 처리

GolangBeginner
지금 연습하기

소개

이번 챌린지에서 여러분은 소셜 미디어 플랫폼의 사용자 등록 시스템에서 사용자 이름을 정규화하는 함수를 구현하게 됩니다. 이 작업의 목적은 데이터의 무결성을 유지하고 사용자 경험을 향상시키기 위해 일관되고 깔끔한 사용자 입력을 확보하는 것입니다. 구체적으로, 함수는 문자열 앞뒤의 공백을 제거하고, 각 이름 마디의 첫 글자를 대문자로 변환하며, 성, 이름, 중간 이름 등 여러 단어로 구성된 이름을 처리할 수 있어야 합니다.

이 콘텐츠는 챌린지입니다. 가이드 실습 (Guided Lab) 과 달리, 단계별 지침을 따르는 대신 스스로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상담하거나 모범 답안을 확인해 보세요. 통계에 따르면 이 챌린지는 초급 수준이며, 통과율은 94%, 학습자 만족도는 88%입니다.

사용자 등록 문자열 처리

소셜 미디어 플랫폼의 사용자 등록 시스템에서 일관성 있고 정제된 사용자 입력을 유지하는 것은 데이터 관리와 사용자 경험 측면에서 매우 중요합니다.

과제

  • 전체 이름을 입력받는 formatUserName 함수를 작성하세요.
  • 입력된 문자열의 앞뒤 공백을 제거하세요.
  • 각 이름 마디의 첫 글자를 대문자로 변환하세요.
  • 형식이 지정된 전체 이름을 반환하세요.

요구 사항

  • 해결 코드는 ~/project/registration.go 파일에 작성하세요.
  • 이전 실습에서 배운 Go 의 문자열 조작 함수를 활용하세요.
  • 함수는 성, 중간 이름, 이름 등 여러 단어로 이루어진 입력을 처리할 수 있어야 합니다.
  • strings.TrimSpace()를 사용하여 불필요한 공백을 제거하세요.
  • 다양한 입력 형식에서도 함수가 올바르게 작동하는지 확인하세요.

예시

함수를 테스트하려면 main() 함수에 다음과 같은 예시 케이스를 추가해 보세요.

func main() {
    fmt.Println(formatUserName("  john doe  "))        // 출력: John Doe
    fmt.Println(formatUserName("  alice bob smith  ")) // 출력: Alice Bob Smith
    fmt.Println(formatUserName("JANE DOE"))            // 출력: Jane Doe
}

프로그램을 실행하여 출력이 예상 결과와 일치하는지 확인합니다.

go run registration.go
John Doe
Alice Bob Smith
Jane Doe

힌트

  1. strings.TrimSpace()는 입력된 이름의 앞뒤 공백을 제거합니다.
  2. strings.Fields()는 여러 개의 공백이 섞여 있더라도 이름을 각 마디별로 분리해 줍니다.
  3. strings.ToLower()를 먼저 적용하여 대소문자를 통일한 후 Title()을 사용하면 일관된 결과를 얻을 수 있습니다.
  4. strings.Join()을 사용하면 분리된 이름 마디들을 공백 하나를 사이에 두고 다시 합칠 수 있습니다.
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 소셜 미디어 플랫폼의 사용자 등록 시스템에서 이름을 정규화하는 함수를 구현해 보았습니다. 이 함수는 문자열 앞뒤의 공백을 제거하고, 각 이름 마디의 첫 글자를 대문자로 변환하며, 여러 단어로 구성된 이름을 매끄럽게 처리합니다. 이러한 문자열 처리 과정을 통해 데이터의 일관성을 확보하고 사용자에게 더 나은 인터페이스를 제공하는 방법을 익혔습니다.