리트코드 알고리즘/리트코드 easy
(간단한 코드)리트코드 1768. Merge Strings Alternately
문학적 딥러닝
2024. 12. 3. 23:17
두개의 문자열이 주어지고, 이를 순서대로 섞는 코드이다.
여기서 주의해야 할 점은 두 문자열의 길이가 같지 않아, 간단한 for문으로는 해결 할 수 없다는 점일 것이다.
class Solution:
def mergeAlternately(self, word1: str, word2: str) -> str:
l1, l2 = len(word1), len(word2)
if l1 > l2:
n = l1-l2
word2 += ' '*n
elif l2 > l1:
n = l2-l1
word1 += ' '*n
ans = ''
for i in range(len(word1)):
ans += word1[i]
ans += word2[i]
res = ans.replace(' ', '')
return res
이게 내가 생각한 답이었는데, 조금 길지만 그만큼 이해하기 쉽다.
(우선 ans는 answer의 줄임말이고, res는 result의 줄임말이다.)
l1, l2 = len(word1), len(word2)
if l1 > l2:
n = l1-l2
word2 += ' '*n
elif l2 > l1:
n = l2-l1
word1 += ' '*n
우선 두 문자열의 길이를 비교하므로서, 어느것이 더 긴 문자열인지 판별하고, 짧은 문자열에 부족한 부분을 (공백)으로 매꾸어준다.
매꾸어준 다음에는 그냥 for문을 사용해서 순서대로 하나씩 꺼내면 되는 일이다.
다만 이렇게 하면 공백도 그냥 하나의 문자열로 들어가므로, 필요한게 replace() 이다.
res = ans.replace(' ', '')는 --> ans에서 공백(' ')을 공백없음('')으로 대치하겠다 라는 의미다.
그렇게 끝나면
그냥 무난한 결과가 나타났다.