[Programmers] #181942 - 문자열 섞기 [Java][C++][Python]
[Programmers] #181942 - 문자열 섞기 [Java][C++][Python]
1. 아이디어
두 문자열 str1과 str2의 길이가 같으므로, 인덱스를 0부터 하나씩 늘려가며 두 문자열에서 같은 위치의 문자를 번갈아 결과 문자열에 이어 붙이면 된다.
2. 복잡도
| 접근 | 시간 | 공간 |
|---|---|---|
| 풀이 | $O(N)$ | $O(N)$ |
($N$ = str1의 길이 = str2의 길이)
3. 코드
풀이 [Java][C++][Python]
1
2
3
4
5
6
7
8
9
10
class Solution {
public String solution(String str1, String str2) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str1.length(); i++) {
sb.append(str1.charAt(i)).append(str2.charAt(i));
}
return sb.toString();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
#include <bits/stdc++.h>
using namespace std;
string solution(string str1, string str2) {
string s;
for (int i = 0; i < str1.size(); i++) {
s += str1[i];
s += str2[i];
}
return s;
}
1
2
def solution(str1, str2):
return "".join(a + b for a, b in zip(str1, str2))
Python은 zip으로 두 문자열을 같은 인덱스끼리 짝지어 순회했다.
This post is licensed under CC BY 4.0 by the author.