
my_string)의 특정 위치(s)부터 다른 문자열(overwrite_string)로 교체하는 문제overwrite_string의 길이만큼Swift의 String.Index 활용
index(_:offsetBy:) 메서드를 사용하여 String.Index를 얻어야 함문자열 범위 지정
startIndex..<endIndex문자열 교체 메서드
replacingCharacters(in:with:) 메서드 사용in:): 교체할 범위with:): 교체할 새로운 문자열func solution(_ my_string: String, _ overwrite_string: String, _ s: Int) -> String {
// 1. 교체를 시작할 위치의 인덱스를 구합니다.
// startIndex로부터 s만큼 떨어진 위치의 String.Index를 얻습니다.
let startIndex = my_string.index(my_string.startIndex, offsetBy: s)
// 2. 교체가 끝날 위치의 인덱스를 구합니다.
// startIndex로부터 교체할 문자열(overwrite_string)의 길이만큼 떨어진 위치입니다.
let endIndex = my_string.index(startIndex, offsetBy: overwrite_string.count)
// 3. 원본 문자열의 지정된 범위(startIndex..<endIndex)를
// overwrite_string으로 교체한 새로운 문자열을 반환합니다.
return my_string.replacingCharacters(in: startIndex..<endIndex, with: overwrite_string)
}
func solution(_ my_string: String, _ overwrite_string: String, _ s: Int) -> String {
// 1. 입력 문자열을 배열로 변환하여 수정 가능하게 만듭니다
var result = Array(my_string)
// 2. overwrite_string의 길이를 구합니다
let s2 = overwrite_string.count
// 3. s위치부터 s2길이만큼 overwrite_string으로 교체합니다
for i in 0..<s2 {
result[s + i] = Array(overwrite_string)[i]
}
// 4. 최종 결과를 문자열로 변환하여 반환합니다
return String(result)
}