
import Foundation
func solution(_ strArr:[String]) -> [String] {
var answer : [String] = []
answer = strArr
for i in answer.indices{
if i % 2 == 0 {
answer[i] = answer[i].lowercased()
} else {
answer[i] = answer[i].uppercased()
}
}
return answer
}
enumerated와 고차함수를 사용해서 해보고 싶었으나 뒤에 조건을 어떻게 해야할지 몰라 못했는데 아래 코드를 보고 어느부분이 부족한지 알았다.
삼항연산자를 쓰면 될까 생각만했는데 코드보니 내생각이 맞았다.
다음번엔 시도를 해봐야겠다.
다른코드
import Foundation
func solution(_ strArr:[String]) -> [String] {
return strArr.enumerated().map { $0.offset % 2 != 0 ? $0.element.uppercased() : $0.element.lowercased() }
}
//
func solution(_ strArr: [String]) -> [String] { strArr.indices.map { ($0 % 2 == 0) ? strArr[$0].lowercased() : strArr[$0].uppercased() } }
//
import Foundation
func solution(_ strArr:[String]) -> [String] {
return strArr.enumerated().map { $0.offset % 2 == 0 ? $0.element.lowercased() : $0.element.uppercased() }
}
$0.offset / $0.element 를 사용했는데 저번에 정리한 $0.0 / $0.1 과 같은 표현인듯 하다.
PREVIOUS77. 소문자로 바꾸기
NEXT79. A 강조하기