📍 문제
문자열 my_string, overwrite_string과 정수 s가 주어집니다.
문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
⚠️ 제한사항
- my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
- 1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
- 0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
def solution(my_string, overwrite_string, s):
front = my_string[: s] # 먼저, 기본 문자열의 s까지만 출력
middle = overwrite_string # 중간에 겹쳐쓸 문자열 출력
back = my_string[s + len(overwrite_string) : ] # 마지막으로 앞서 작성한 문자열의 길이만큼 제외한 나머지 my_string 문자 출력
answer = front + middle + back
return answer
문자열 인덱싱은 아무리 많이 연습해 보아도 어려운 것 같다.😕
처음에는 콜론을 이용해 인덱싱 할 생각을 못하고 대괄호만 이용해 값 하나만 가져오는 인덱싱을 이용해버려서 제대로 출력되지 않았다.
def solution(my_string, overwrite_string, s):
answer = ''
str_len = len(my_string)
over_len = len(overwrite_string)
anser = ...
이렇게 먼저 풀었던 것 같은데...
아마 len 을 이용해 각 값의 길이를 구하고, 처음에는 overwrite_string 에서 my_string의 길이를 빼어 my_string에 해당 값을 인덱싱한 후 overwrite_string을 합쳐 보려고 했던 것 같다.
s라는 인덱싱 값이 분명히 존재함에도 불구하고...
문제가 조금만 길어지고, 변수가 조금만 많아져도 머릿속이 새하얘져서 복잡하게 생각하는 듯하다. 테스트를 더 많이 풀어보고 손에 익숙해지게끔 해 보아야겠다.