프로그래머스 문자열 섞기

CodeBee_·2023년 9월 2일

프로그래머스

목록 보기
4/31
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/181942

문제 설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.

제한사항
1 ≤ str1의 길이 = str2의 길이 ≤ 10
str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.


🤍 나의 풀이

function solution1(str1, str2) { 
    let result = '';
    for(let i = 0; i < str1.length; i++){
        result += str1[i] + str2[i]
        //str1[i] 와 str2[i]를 사용하여 인덱스 i에 있는 str1,str2의 문자를 result 문자열에 연결
    }    
    return result ;
}

🎨 다른사람의 풀이

function solution(str1, str2) { 
    return [...str1].map((a, i) => a+str2[i]).join("")
}
// 스프레드 연산자 [...str1]을 사용하여 str1을 문자 배열로 변환.
// 그런 다음 맵 함수를 사용하여 str1의 각 문자를 인덱스 'i'로 반복
// 맵 함수 내부에서 str1의 각 문자를 str2의 해당 문자와 연결
// 이렇게 하면 각 요소가 같은 인덱스에 있는 str1과 str2 문자를 연결한 문자열 배열이 생성됩니다.

💡 오늘 배운 것

스프레드 연산자

Spread_syntax
스프레드 연산자를 사용하면 배열, 문자열, 객체 등 반복 가능한 객체 (Iterable Object)를 개별 요소로 분리할 수 있다.

// Array
let arr1 = [1, 2, 3, 4, 5]; 
let arr2 = [...arr1, 6, 7, 8, 9]; 

console.log(arr2); // [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

// String
let str1 = 'Hello Wolrd'; 
let str2 = [...str1]; 
console.log(str2); // ["H", "e", "l", "l", "o", " ", "W", "o", "l", "r", "d"]
let arr1 = [1,2,3]; 
let arr2 = [4,5,6]; 

let arr = [...arr1, ...arr2]; 
console.log(arr); // [ 1, 2, 3, 4, 5, 6 ] 


let args1 = [0, 1];
let args2 = [-1, ...args1, 2];

console.log(args2) // [-1, 0, 1, 2]
profile
엉금엉금 공부 블로그

0개의 댓글