문제 설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ str1의 길이 = str2의 길이 ≤ 10
- str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
srt1 srt2 result "aaaaa" "bbbbb" "ababababab"
나의 코드 (메모리 & 시간 & 문제 링크와 같은 자세한 정보는 해당 링크를 통해 확인해 주세요! )
function solution(str1, str2) {
var answer = '';
const answerArr = [];
const str1Arr = [...str1];
const str2Arr = [...str2];
for(i = 0; i < str2Arr.length; i++) {
answerArr.push(str1Arr[i]);
answerArr.push(str2Arr[i]);
}
return answerArr.join('');
}
- str1, str2를 배열로 변환한 뒤 (...str1, ...str2)
- 두 문자열의 각 문자를 번갈아 배열에 넣고 (push)
- 마지막에 join으로 문자열로 결합하는 방식
다른 사람의 코드
1. map() 사용
function solution(str1, str2) {
return [...str1].map((x, idx)=> x+str2[idx]).join("");
}
저번 문제와 마찬가지로 내 코드는 길고 반복적이다!
반복적인 부분은 어떤 식으로 정리해야 할지를 고민하면서 작성해야할 것 같다.
자바스크립트에서 제공하는 내장 함수들을 더 자주 사용하고 공부하면서, 손에 익혀야 할 것 같다.
무조건 for문부터 쓰는 습관에서 조금씩 벗어나서, 깔끔한 코드를 쓰도록...🙃
'ALGORITHM > JavaScript' 카테고리의 다른 글
| [코딩테스트] 스택/큐 괄호 맞추기 (1) | 2025.07.01 |
|---|---|
| [코딩테스트] 최댓값과 최솟값 (0) | 2025.07.01 |
| [코딩테스트] 큐 문제 1. 요세푸스 문제 (1) | 2025.06.26 |
| [코딩테스트] 배열 두 배 만들기 (0) | 2025.06.25 |
| [코딩테스트] 스택 문제 1. 괄호 짝 맞추기 (0) | 2025.06.25 |