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 라이센스를 따릅니다.