알고리즘

[String] 1768. Merge Strings Alternately

달모드 2025. 1. 1. 22:21

음.. 새해니까 가볍게 몸풀기로 시작

 

하루에 최소 하나의 문제를 재미로 풀어보는 시간을 가지겠다.

https://leetcode.com/problems/merge-strings-alternately/description/ 

 

 

푸는 시간은 파이썬으로 10분 걸렸고 시간 복잡도는 O(N)이라 메모리 효율도는 높은 편이다.

 

 

문제 접근 방법

단순히 이중 루프를 활용하는 것이 아니라 인덱스가 같다는 개념을 활용하면 루프 하나 안에서 문자열을 결합할 수 있다.

 

주의사항

다만, index out of range 에러 해결을 위해 for loop 안에 if 조건을 추가해주어야한다.

이 조건문 없이 그대로 실행하게 되면, 문자열의 길이가 같다는 전제만 되기 때문에 주어진 문제와 같이 word1 word2가 다른 길이를 가질 때 오류 없이 작동하게 하려면 조건을 추가하자.

 

코드

class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        output = ""

        for i in range(0, len(word1+word2)): 
            if i < len(word1):
                output += word1[i]
            if i < len(word2):   
                output += word2[i]

        return output