-
[JS] 문자열 겹쳐쓰기코테라도 하자 2023. 8. 14. 12:22
Programmers / 코딩테스트 연습 / 코딩 기초 트레이닝 / 문자열 겹쳐쓰기
https://school.programmers.co.kr/learn/courses/30/lessons/181943
문제 설명
문자열 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"
내 풀이
function solution(my_string, overwrite_string, s) { const array = my_string.split(''); array.splice(s, overwrite_string.length, ...overwrite_string); return array.join(''); }
splice가 array 자체를 변경시키는 함수인데 array.splice를 return하면 제거된 array를 반환하기 때문에 문장을 나눠썼다.
splice의 첫번째 인자는 제거할 index의 시작, 두번째 인자는 첫번째 index로부터 제거할 개수, 그리고 3번째 인자부터는 그 자리에 추가할 개체들을 나열하면 된다. 그리고 string을 반환해야하므로 join을 사용해 string으로 만들었다.
다른 사람의 풀이
function solution(my_string, overwrite_string, s) { return my_string.slice(0,s)+overwrite_string+my_string.slice(s+overwrite_string.length); }
앞 뒤로 자른 애들과 중간에 붙일 스트링을 나열했는데, 한눈에 알아보기는 쉬운 것 같다.
'코테라도 하자' 카테고리의 다른 글
[프로그래머스] 2의 영역.js (0) 2023.12.14 [leetcode] 125 유효한 팰린드롬(Valid Palindrome) (0) 2023.12.14 [JS] 구슬을 나누는 경우의 수 (1) 2023.08.22 [JS] 배열 만들기 2 (0) 2023.08.16 [JS] 문자열 반복해서 출력하기 (0) 2023.08.14