# Algorithm/--- 프로그래머스

[프로그래머스] JadenCase 문자열 만들기

jiniz.ll 2022. 1. 26. 00:30

문제

  • 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: " ")
}