문제
- JadenCase 란 모든 단어의 첫 문자가 대문자고, 그 외의 알파벳은 소문자인 문자열
- 문자열이 주어졌을 때 JadenCase 로 바꿔 리턴하기
- 알파벳과 공백으로 이루어져 있음
- 첫 문자가 영문이 아닌 경우는 뒤의 영문 모두 소문자
Idea
- 공백으로 구분해서 나누고
- 첫 글자를 확인해서 알파벳이면 대문자로 바꾸기
Code
Swift
- 참고.
word.capitalized
를 사용하면 처음 나오는 알파벳을 대문자로 바꿔주고 나머지 뒤의 알파벳은 소문자로 바꿔줌.
- 이 문제에서는 첫 글자가 알파벳이 아닌 경우 대문자로 변경하지 않기 때문에 사용할 수 없음
word.capitalized()
와는 다름!!!
-
- 주의. 공백이 여러 개 있는 경우도 고려해야 함!!
- word 가 공백인 경우 에러가 나기 때문에 예외 처리가 필요함
func solution(_ s: String) -> String {
var words = s.lowercased().components(separatedBy: " ")
for (i, word) in words.enumerated() {
if word.isEmpty { continue }
var arr = Array(word).map { String($0) }
arr[0] = arr[0].uppercased()
words[i] = arr.joined(separator: "")
}
return words.joined(separator: " ")
}