
def solution(my_string, overwrite_string, s):
x = my_string[:s] + overwrite_string
return x + my_string[len(x):]
처음에는 return 값을 아래와 같이 작성하였다.
return my_string[:s] + overwrite_string + my_string[len(my_string[:s] + overwrite_string):]
중복되는 코드가 있어서 변수로 담아서 리펙터링하게 되었다.
x = my_string[:s] + overwrite_string
return x + my_string[len(x):]
문자열을 자를 때 사용하는 slicing 문법을 알게되었다.
slicing 문법에는 이번에 사용하지 않은 'step'이라는 옵션도 있다.
그래서 좀 더 상세히 알아보았다.
seq[start : stop : step]
string = "abcdef"
string[:3] # 0 ~ 3-1 >>> 'abc'
string[3:] # 3 ~ last >>> 'def'
string[::2] # 2칸씩 >>> 'ace'
string[::-1] # 뒤집기 >>> 'fedcba'
string[1::2] # 1부터 2칸씩 >>> 'bdf'