문제설명
문자열 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_string | overwrite_string | s | result |
"He11oWor1d" | "lloWorl" | 2 | "HelloWorld" |
"Program29b8UYP" | "merS123" | 7 | "ProgrammerS123" |
풀이
JAVA
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
int l = overwrite_string.length();
int l2 = my_string.length();
answer = my_string.substring(0,s) + overwrite_string+ my_string.substring(s+l,l2);
return answer;
}
}
Python
def solution(my_string, overwrite_string, s):
answer = my_string[:s] + overwrite_string + my_string[s+len(overwrite_string):]
return answer
* 이런 방법도 있다..
def solution(my_string, overwrite_string, s):
return my_string[:s] + overwrite_string + my_string[s + len(overwrite_string):]
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
char* solution(const char* my_string, const char* overwrite_string, int s) {
int length = strlen(my_string);
int change_index = strlen(overwrite_string);
char *answer = (char *)malloc(sizeof(char) * (length+1));
for (int i = 0; i < length; i++)
answer[i] = my_string[i];
for (int i = s; i < s + change_index; i++)
answer[i] = overwrite_string[i - s];
answer[length] = '\0';
return answer;
}
'프로그래머스 Lv.0' 카테고리의 다른 글
Lv.0 문자 리스트를 문자열로 변환하기 (0) | 2025.01.19 |
---|---|
Lv.0 문자열 섞기 (0) | 2025.01.19 |
Lv.0 홀짝 구분하기 (0) | 2025.01.18 |
Lv.0 문자열 돌리기 (0) | 2025.01.14 |
Lv.0 문자열 붙여서 출력하기 (0) | 2025.01.14 |