소개
이번 챌린지에서 여러분은 소셜 미디어 플랫폼의 사용자 등록 시스템에서 사용자 이름을 정규화하는 함수를 구현하게 됩니다. 이 작업의 목적은 데이터의 무결성을 유지하고 사용자 경험을 향상시키기 위해 일관되고 깔끔한 사용자 입력을 확보하는 것입니다. 구체적으로, 함수는 문자열 앞뒤의 공백을 제거하고, 각 이름 마디의 첫 글자를 대문자로 변환하며, 성, 이름, 중간 이름 등 여러 단어로 구성된 이름을 처리할 수 있어야 합니다.
사용자 등록 문자열 처리
소셜 미디어 플랫폼의 사용자 등록 시스템에서 일관성 있고 정제된 사용자 입력을 유지하는 것은 데이터 관리와 사용자 경험 측면에서 매우 중요합니다.
과제
- 전체 이름을 입력받는
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
힌트
strings.TrimSpace()는 입력된 이름의 앞뒤 공백을 제거합니다.strings.Fields()는 여러 개의 공백이 섞여 있더라도 이름을 각 마디별로 분리해 줍니다.strings.ToLower()를 먼저 적용하여 대소문자를 통일한 후Title()을 사용하면 일관된 결과를 얻을 수 있습니다.strings.Join()을 사용하면 분리된 이름 마디들을 공백 하나를 사이에 두고 다시 합칠 수 있습니다.
요약
이번 챌린지에서는 소셜 미디어 플랫폼의 사용자 등록 시스템에서 이름을 정규화하는 함수를 구현해 보았습니다. 이 함수는 문자열 앞뒤의 공백을 제거하고, 각 이름 마디의 첫 글자를 대문자로 변환하며, 여러 단어로 구성된 이름을 매끄럽게 처리합니다. 이러한 문자열 처리 과정을 통해 데이터의 일관성을 확보하고 사용자에게 더 나은 인터페이스를 제공하는 방법을 익혔습니다.



