카테고리 없음
프로그래머스 - L2 JadenCase 문자열 만들기
김쿡
2023. 2. 16. 13:45
설계
문자열을 lowercased로 변환하여 통일한다
공백으로 split한 배열을 순회하여 첫 글자를 upperCased로 변환한다
git : JadenCase 문자열 만들기
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12951
문제 풀이
설계대로 진행하려 했으나, split 된 문자열의 다시 첫번째를 변환이 까다롭다고 생각하였습니다.
그래서 문자열을 순회하여 첫 글자와 공백이 나온 다음 글자를 대문자 변환하여 진행하였습니다.
import Foundation
func solution(_ s:String) -> String {
var stringArray = Array(s.lowercased()).map{ item in
return String(item)
}
stringArray.enumerated().forEach{ index , item in
if(index == 0) {
stringArray[index] = item.uppercased()
}
if(item == " ") {
if(index + 1 < stringArray.count) {
stringArray[index + 1] = stringArray[index + 1].uppercased()
}
}
}
return stringArray.joined(separator: "")
}
다른 사람 풀이 분석
프로그래머스 - ywangnon , 강호성 , 홍서연 , Chart 님 외 1 명
func solution(_ s:String) -> String {
var ans = ""
var index = 0
for char in s {
if char != " " {
if index == 0 {
ans += String(char).uppercased()
} else {
ans += String(char).lowercased()
}
index += 1
} else {
ans += " "
index = 0
}
}
return ans
}
굳이 문자열을 String Array 변환 없이 진행 할 수도 있습니다.
여러분들은 어떤 방식으로 해결하셨나요~?
정리
L2도 아직은 할 만 한데?