str에서 list형으로 list형에서 str형으로 왔다갔다 하는걸 잘 해줘야되는거같다
list(str)를 해주면 str의 모든 문자를 list로 바꿀수 있고 " ".join(list)를 해주면 list의 원소를 " "(공백)을 포함하여 str형로 합칠수 있다.
Python
def solution(s):
answer = ''
array = list(s.split(" "))
array2 = []
for st in array:
strArray=list(st)
for i in range(len(strArray)):
if (i+1)%2==0:
strArray[i]=strArray[i].lower()
else:
strArray[i]=strArray[i].upper()
s = "".join(strArray)
array2.append(s)
answer = " ".join(array2)
return answer
Swift
func solution(_ s:String) -> String {
var answer = ""
let arr = s.components(separatedBy: " ")
var array = [String]()
for str in arr {
var newString = ""
for (i,e) in str.enumerated() {
if (i+1)%2==0 { //짝수
newString.append(e.lowercased())
} else {
newString.append(e.uppercased())
}
}
array.append(newString)
}
answer = array.joined(separator: " ")
return answer
}
//프로그래머스 다른분 풀이 참고
func solution(_ s:String) -> String {
let a = s.components(separatedBy: " ")
.map{ $0.enumerated()
.map{ ($0.offset+1)%2==0 ? $0.element.lowercased() : $0.element.uppercased() } }
.map{ $0.map{ $0}.joined() }
.joined(separator: " ")
return a
}