231116 TIL

chillakilla·2023년 11월 16일

문자열 섞기

Q : 길이가 같은 두 문자열 str1과 str2가 주어집니다.

두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.

입출력 예

솔루션 코드

<script>
function solution(str1, str2) {
  let answer = '';
  for (let i = 0; i < str1.length; i++) {
    answer += str1[i] + str2[i];
  }

  return answer;
}
</script>
  • 문자열..? 배열...? for 문으로 돌리자.
  • 반환값을 정해두고, i = 0부터, str1으로 입력받은 값을 갯수만큼 돌리면서, 하나씩 증가
  • 그렇게 도출된 str[i]를 입력받은 str2[i]에 교대로 추가.
  • answer 반환.
  • 단, 이후에 알게 된 것이지만 이 코드의 단점은 두 문자열의 길이가 같을 때 유효하다는 것임.
  • 결국 그리 안정성이 높다고는 판단이 안 됨.

다른 사람의 풀이

<script>
function solution(str1, str2) {
    return [...str1].map((x, idx)=> x+str2[idx]).join("");
}
</script>

오늘도 기억은 나지만, 내 손끝으로 사용하지 못했던 map 함수와 어제 문제 풀이에서 사용했던 join 메서드.

하...

profile
꾸준하려 하는 쉽덕놈

0개의 댓글