저장을 습관화
프로그래머스 LV.0 문자열 겹쳐쓰기 본문
프로그래머스 LV.0 문자열 겹쳐쓰기
https://school.programmers.co.kr/learn/courses/30/lessons/181943
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
문자열 겹쳐쓰기
2. 문제 설명
문자열 my_string, overwrite_string과 정수 s가 주어집니다.
문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
3. 제한 사항
my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
4. 예시
my_string | overwrite_string | s | result |
"He11oWor1d" | "lloWorl" | 2 | "HelloWorld" |
"Program29b8UYP" | "merS123" | 7 | "ProgrammerS123" |
5. 기본 제공 코드
function solution(my_string, overwrite_string, s) {
var answer = '';
return answer;
}
6. 제출한 내 답
const solution = (my_string, overwrite_string, s) => {
return (
my_string.substr(0, s) +
overwrite_string +
`${my_string.substr(`${overwrite_string.length + s}`)}`
);
};
6-2. VSC에 작성한 내용
const solution = (my_string, overwrite_string, s) => {
const save = my_string.substr(0, s);
// console.log(save);
// console.log(overwrite_string.length);
// console.log(my_string.substr(`${overwrite_string.length + s}`));
let answer =
save +
overwrite_string +
`${my_string.substr(`${overwrite_string.length + s}`)}`;
return answer;
};
// 테스트
console.log(solution("He11oWor1d", "lloWorl", 2));
console.log("--------구분선--------");
console.log(solution("Program29b8UYP", "merS123", 7));
연습
// console.log("Program29b8UYP"[7]);
const first = "He11oWor1d";
const second = "lloWorl";
const third = 2;
// console.log(first.substr(0, third));
const a = first.substr(0, third);
// console.log(first.substr(third, second.length));
const b = first.substr(third, second.length);
console.log(a + second);
const remain = first.substr(`${a.length + b.length}`);
console.log(remain);
console.log(a + second + remain);
7. 특이사항
뭔가 그냥 괜히 해보고 싶어서 줄이고 줄이고 줄여써봤는데
쓰고 보니까 너무 지저분하고 보기 어려워서
이건 좀 아니다라고 생각됨
8. 다른 사람이 작성한 답
8-1.
function solution(my_string, overwrite_string, s) {
return my_string.slice(0,s)+overwrite_string+my_string.slice(s+overwrite_string.length);
}
근데 이 사람도 나랑 비슷하게 했네
8-2.
function solution(my_string, overwrite_string, s) {
return my_string.substring(0, s) + overwrite_string + my_string.substring(s + overwrite_string.length);
}
8-3.
function solution(my_string, overwrite_string, s) {
var answer = '';
answer += my_string.slice(0,s);
answer += overwrite_string;
answer += my_string.slice(answer.length);
return answer;
}
8-4.
function solution(my_string, overwrite_string, s) {
let answer = '';
for(let i = 0;i < s;i++){
answer += my_string[i];
}
for(let i = 0; i < overwrite_string.length; i++){
answer += overwrite_string[i];
}
for(let i=s+overwrite_string.length;i<my_string.length;i++){
answer += my_string[i]
}
return answer;
}
다른 사람들 풀이 보니 생각보다 비슷하게 한 사람이 대부분이라 좀 의외였음
어찌되든 돌아가기만 하면 된다는걸까
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 두 수의 연산값 비교하기 (0) | 2023.09.09 |
---|---|
프로그래머스 LV.1 핸드폰 번호 가리기 (0) | 2023.09.09 |
프로그래머스 LV.0 홀짝 구분하기 (0) | 2023.09.08 |
프로그래머스 LV.0 문자열 돌리기 (0) | 2023.09.08 |
프로그래머스 LV.0 문자열 붙여서 출력하기 (0) | 2023.09.08 |