JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
count
변수를 0에서 1로 증가시키고, 해당 알파벳을 uppercase()
메소드를 활용해 대문자로 배열 temp
에 추가한다. (count
변수가 대문자로 변환할지 결정하는 플래그 역할을 하게 됨)count
변수를 0으로 만들고 공백을 temp
배열에 추가한다.count
변수를 증가시키고 해당 숫자를 temp
배열에 추가한다.lowercase()
메소드를 활용해 소문자로 temp
배열에 추가한다.func solution(_ s:String) -> String {
var input = Array(s), count = 0, temp = [String]()
for thing in input {
if Int(String(thing)) == nil {
if count == 0 && thing != " " {
temp.append(thing.uppercased())
count += 1
} else if thing == " " {
temp.append(" ")
count = 0
} else {
temp.append(thing.lowercased())
}
} else if let intThing = Int(String(thing)) {
temp.append(String(intThing))
count += 1
}
}
return temp.joined()
}
for
문 내에 첫 번째 if
문의 조건을 if count == 0 && thing != " "
로 작성함으로 해결할 수 있었다.