Algorithm/프로그래머스

[프로그래머스 스위프트] 이상한 문자 만들기

devKen 2022. 8. 26. 20:13

아이디어

1. s를 띄어쓰기를 기준으로 분리해서 배열로 만든다.

2. 배열을 for문으로 요소를 가져와 현재 문자가 짝수번인지 홀수번인지를 판단한 후 대문자를 만들거나 소문자를 만든다.

3. 생성된 단어들을 조인하고 리턴

 

해답

import Foundation

func solution(_ s:String) -> String {
    var result: [String] = []
    var words = s.components(separatedBy: " ").map { String( $0 )}
    for word in words {
        var tmpWord: [String] = []
        for (i, v) in word.enumerated() {
            if i % 2 == 0 {
                tmpWord.append(String(v).uppercased())
            } else {
                tmpWord.append(String(v).lowercased())
            }
        }
        let str = tmpWord.joined(separator: "")
        result.append(str)
    }
    return result.joined(separator: " ")
}