코테
문자열 겹쳐쓰기
콩쥐땃쥐
2024. 11. 28. 02:34
def solution(my_string, overwrite_string, s):
return (my_string.replace(my_string[s:s+len(overwrite_string)],overwrite_string,1))
내 실패한 코드......
우선 테스트까진 잘 됐으나, 반례가 생겼다.
바로 aaaaaa를 3번째부터 bbb로 바꾸는 것.
애초에 replace는 같은 문자열을 뒤에 있는 문자열로 변환하는 것이기 때문에 중복되는 문자열인 aaa가 전부 bbb로 바뀌는 것.
처음에 이를 해결해보기 위해 1번만 변환하도록 뒤에 1을 넣었으나, 제일 중요한 첫 번째 aaa가 변환된다는 것을 막을 수는 없었다.
한 30분동안 고민해보다가 전에 30분에서 1시간 정도 고민했으면 해답을 찾아보라는 말이 떠올라 해답을 찾아봤다.
def solution(my_string, overwrite_string, s):
return (my_string[:s]+overwrite_string+my_string[s+len(overwrite_string):])
그냥 잘라서 붙여넣기 하면 되는 것이었다.
어떨 때는 그냥 깡으로 잘라서 붙여넣는 게 맞을 수도 있다는 것을 알아버렸다.
이 뒤는 출력문제가 거의 없어서 다시 java로 돌아갈 시간이다. (안 돼)