[Programmers][JavaScript] 문자열 겹쳐쓰기
Lv.0 🔗문자열 겹쳐쓰기
📝문제 요약
문제 설명
문자열 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” |
입출력 예 설명
입출력 예 #1
- 예제 1번의
my_string
에서 인덱스 2부터overwrite_string
의 길이만큼에 해당하는 부분은 “11oWor1”이고 이를 “lloWorl”로 바꾼 “HelloWorld”를 return 합니다.
입출력 예 #2
- 예제 2번의
my_string
에서 인덱스 7부터overwrite_string
의 길이만큼에 해당하는 부분은 “29b8UYP”이고 이를 “merS123”로 바꾼 “ProgrammerS123”를 return 합니다.
✏️문제 풀이
-
입력 처리
function solution(my_string, overwrite_string, s) {}
my_string
: 원본 문자열overwrite_string
: 덮어쓸 문자열s
: 덮어쓰기 시작 위치
-
문자열을 배열로 변환
var answer = [...my_string];
- 문자열은 불변(immutable)이기 때문에 배열로 변환
[...]
전개 연산자를 사용하여 문자열을 문자 배열로 바꿈
-
문자열 덮어쓰기
answer.splice(s, overwrite_string.length, overwrite_string);
splice(시작위치, 제거할 개수, 삽입할 내용)
s
부터overwrite_string.length
만큼 제거하고,overwrite_string
을 삽입
-
배열을 다시 문자열로 합침
return answer.join("");
- 문자 배열을 문자열로 변환해서 반환
💯제출 코드
function solution(my_string, overwrite_string, s) {
var answer = [...my_string];
answer.splice(s, overwrite_string.length, overwrite_string);
return answer.join("");
}
댓글남기기