문제
내 정답 코드
import Foundation
func solution(_ my_string:String, _ overwrite_string:String, _ s:Int) -> String {
let index = my_string.index(my_string.startIndex, offsetBy: s)
var resultString = String(my_string.prefix(upTo: index))
resultString += overwrite_string
resultString += String(my_string.suffix(from: my_string.index(index, offsetBy: overwrite_string.count)))
return resultString
}
#
1. my_string에서 offsetBy만큼 떨어진 문자의 인덱스를 가져와 string.index 형태로 저장한다.
2. prefix를 이용하여 index값의 전 문자까지 잘라와 저장한다.
3. overwrite_string값을 붙여 저장한다.
4. suffix를 이용하여 나머지 붙여야 하는 문자들을 가져와서 추가 저장한다.
prefix, suffix가 없어도 string.index를 활용하여 일반 배열처럼 사용하여 해결해도 된다.
import Foundation
func solution(_ my_string:String, _ overwrite_string:String, _ s:Int) -> String {
let startIndex = my_string.startIndex
let endIndex = my_string.endIndex
let overStartIndex = my_string.index(startIndex, offsetBy: s)
let overEndIndex = my_string.index(overStartIndex, offsetBy: overwrite_string.count)
// subString -> String 형변환이 필요
let result = String(my_string[startIndex..<overStartIndex]) + overwrite_string + String(my_string[overEndIndex..<endIndex])
return result
}
배운 기술
1. string.index
https://developer.apple.com/documentation/swift/string/index
2. string.index( )
https://developer.apple.com/documentation/swift/string/index(_:offsetby:)
3. prefix(upto)
https://developer.apple.com/documentation/swift/string/prefix(upto:)
3. suffix(from)
https://developer.apple.com/documentation/swift/array/suffix(from:)
'프로그래머스 (Swift) > 기초' 카테고리의 다른 글
[Day3-2] 문자 리스트를 문자열로 변환하기 (0) | 2024.01.21 |
---|---|
[Day3-1] 문자열 섞기 (0) | 2024.01.21 |
[Day1-4] 대소문자 바꿔서 출력하기 (0) | 2024.01.14 |
[Day1-3] 문자열 반복해서 출력하기 (0) | 2024.01.14 |
[Day2-2] 문자열 붙여서 출력하기 (0) | 2024.01.14 |