문제 설명
문자열 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의 길이
입출력 예my_stringoverwrite_stringsresult
"He11oWor1d" | "lloWorl" | 2 | "HelloWorld" |
"Program29b8UYP" | "merS123" | 7 | "ProgrammerS123" |
입출력 예 설명
입출력 예 #1
- 예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.
입출력 예 #2
- 예제 2번의 my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.
def solution(my_string, overwrite_string, s):
answer = ''
answer += my_string[:s]
answer += overwrite_string[:len(overwrite_string)]
answer += my_string[len(overwrite_string):]
return answer
처음에 이렇게 풀었다. 결과는 아래와 같다.
테스트 1 | |
입력값 〉 | "He11oWor1d", "lloWorl", 2 |
기댓값 〉 | "HelloWorld" |
실행 결과 〉 | 실행한 결괏값 "HelloWorlr1d"이 기댓값 "HelloWorld"과 다릅니다. |
테스트 2 | |
입력값 〉 | "Program29b8UYP", "merS123", 7 |
기댓값 〉 | "ProgrammerS123" |
실행 결과 〉 | 실행한 결괏값 "ProgrammerS12329b8UYP"이 기댓값 "ProgrammerS123"과 다릅니다. |
생각은 어렴풋이 했었는데 기억을 못했나보다.
my_string에서 overwrite_string 길이만큼만 replace 해준다고 생각하면 된다. len( my_string ) > len(overwrite_string) 일 경우 overwrite_string로 바꿔주고 나머지 my_string을 채우면 된다.
answer += my_string[:s]
answer += overwrite_string[:len(overwrite_string)]
answer += my_string[len(overwrite_string):]
를 해버리면 my_string의 len(overwrite_string) 번째 문자부터 추가해주는 것이라 조금 달라진다. 처음에 my_string을 s만큼 추가했으니 그거까지 추가해주면 된다.
def solution(my_string, overwrite_string, s):
answer = ''
answer += my_string[:s]
answer += overwrite_string[:len(overwrite_string)]
answer += my_string[s + len(overwrite_string):]
return answer
정신차리고 알고리즘적 사고를 길러야겠다..
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 대소문자 바꿔서 출력하기 (0) | 2024.07.09 |
---|---|
프로그래머스 >코딩테스트 연습 > 코딩 기초 트레이닝 > 간단한 식 계산하기 (0) | 2024.07.09 |
프로그래머스 > 코딩테스트 연습코딩 기초 트레이닝 > 특별한 이차원 배열 1 (0) | 2024.07.09 |
프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 특별한 이차원 배열 2 (0) | 2024.07.09 |