[Easy] 1768. Merge Strings Alternately

문제

You are given two strings word1 and word2. Merge the strings by adding letters in alternating order, starting with word1. If a string is longer than the other, append the additional letters onto the end of the merged string.

Return the merged string.

 

예시

Example 1:

Input: word1 = "abc", word2 = "pqr"
Output: "apbqcr"
Explanation: The merged string will be merged as so:
word1:  a   b   c
word2:    p   q   r
merged: a p b q c r

Example 2:

Input: word1 = "ab", word2 = "pqrs"
Output: "apbqrs"
Explanation: Notice that as word2 is longer, "rs" is appended to the end.
word1:  a   b 
word2:    p   q   r   s
merged: a p b q   r   s

Example 3:

Input: word1 = "abcd", word2 = "pq"
Output: "apbqcd"
Explanation: Notice that as word1 is longer, "cd" is appended to the end.
word1:  a   b   c   d
word2:    p   q 
merged: a p b q c   d

 

제약 조건

Constraints:

  • 1 <= word1.length, word2.length <= 100
  • word1 and word2 consist of lowercase English letters.

 

해결 과정

  • word1와 word2 중 더 긴 길이를 length 변수에 할당한다.
  • 반환할 str 문자열을 초기화한다.
  • length 만큼 for문을 돈다
    • word1부터 값이 들어가야 하기 때문에 if문으로 word1, word2의 값을 넣어준다. 
    • 만약 undefined라면 값이 존재하는 문자열만 넣어준다.
  • 순회가 끝나면 str 문자열을 반환한다.

해결 코드

/**
 * @param {string} word1
 * @param {string} word2
 * @return {string}
 */
var mergeAlternately = function(word1, word2) {

    let length  = Math.max(word1.length, word2.length);    
    let str = "";
    
    for (let i = 0; i < length ; i++) {
        if (word1[i] != undefined) {
            str += word1[i];
        }
        if (word2[i] != undefined) {
            str += word2[i];
        }
    } 
    
    return str;
};