80. 특정한 문자를 대문자로 바꾸기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import Foundation
func solution(_ my_string:String, _ alp:String) -> String {
    
    var answer : String = ""    
    var arr : [String] = []
    arr = my_string.map{String($0)}
    
    if my_string.contains(alp) {
        for i in arr.indices{
            if arr[i] == alp {
                arr[i] = String(arr[i]).uppercased()
            }
        }
        answer = arr.joined()
    } else {
        answer = my_string
    }
    return answer
}
처음에 아래와 같이 map 을 이용하려고 삼항연산자 까지 썼다가. 아닌경우에는 어떻게 해야하나 고민을 햇는데. 애초에 아닌경우에는 소문자로 리턴을 했으면 되는문제였는데 너무 복잡하게 생각했던것같다.
map 안에 삼항연산자를 사용하여 배열을 만들 수 있는데 아직 그부분이 부족한것같다.
다른코드
1
2
3
4
5
6
7
import Foundation
func solution(_ my_string:String, _ alp:String) -> String {
    return my_string.map { String($0) == alp ? $0.uppercased() : $0.lowercased() }.joined()
}
//
 이 기사는 저작권자의  CC BY 4.0  라이센스를 따릅니다.
