[Q]
1. input 은 my_string, overwrite_string, s
2. my_string의 인덱스 s 부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열 구하기
3. 0 <= s <= len(my_string) - len(overwirte_string)
def solution(my_string, overwrite_string, s):
answer = ''
return answer
- my_string[:s] + overwrite_string[:len(overwrite_string)]
[A] (내가 쓴 답)
def solution(my_string, overwrite_string, s):
if len(my_string) > s + len(overwrite_string) :
answer = my_string[:s] + overwrite_string[:len(overwrite_string)+1] + my_string[len(overwrite_string)+2:]
else :
answer = my_string[:s] + overwrite_string[:len(overwrite_string)+1]
return answer
-> 테스트 통과했는데 채점에서 실패함
- 뭐가 틀렸는지 고민해보니 +2가 왜 들어가게 되었을까 = 앞에 두글자 같이 빼려고
- + my_string[s+len(overwrite_string):] : +2가 아닌 +s
(수정한 답)
def solution(my_string, overwrite_string, s):
if len(my_string) > s + len(overwrite_string) :
answer = my_string[:s] + overwrite_string[:len(overwrite_string)+1] + my_string[s+len(overwrite_string):]
else :
answer = my_string[:s] + overwrite_string[:len(overwrite_string)+1]
return answer
[A] 다른 답들
def solution(my_string, overwrite_string, s):
return my_string[:s] + overwrite_string + my_string[s + len(overwrite_string):]
* len(my_string) < s+len(overwirte_string) 고려 안 해줘도 되는듯
def solution(my_string, overwrite_string, s):
answer = ''
k = 0
for i in range(len(my_string)):
if i >= s and i < s+len(overwrite_string):
answer += overwrite_string[k]
k += 1
else: answer += my_string[i]
return answer
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Python] [코딩 기초 트레이닝] / 주사위 게임 3 (0) | 2024.08.15 |
---|---|
[Python] [코딩 기초 트레이닝] / 배열 만들기 2 (0) | 2024.08.15 |
[Python] [코딩 기초 트레이닝] / 코드 처리하기 (0) | 2024.08.15 |
[Python] [코딩 기초 트레이닝] / a와 b 출력하기 (0) | 2024.08.15 |
[Python] [코딩 기초 트레이닝] / 대소문자 바꿔서 출력하기 (0) | 2024.08.15 |