[Programmers] #181866 - 문자열 잘라서 정렬하기 [Java][C++][Python]
[Programmers] #181866 - 문자열 잘라서 정렬하기 [Java][C++][Python]
1. 아이디어
문자열 myString을 "x"를 기준으로 파싱한 후 사전순으로 정렬한 배열을 반환만 하면 되는 간단한 문제다.
2. 복잡도
| 접근 | 시간 | 공간 |
|---|---|---|
| 풀이 | $O(N \log N)$ | $O(N)$ |
($N$ = myString의 길이)
3. 코드
풀이 [Java][C++][Python]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.*;
class Solution {
public String[] solution(String myString) {
StringTokenizer st = new StringTokenizer(myString, "x");
String[] arr = new String[st.countTokens()];
for (int i = 0; i < arr.length; i++) {
arr[i] = st.nextToken();
}
Arrays.sort(arr);
return arr;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
using namespace std;
vector<string> solution(string myString) {
vector<string> ans;
stringstream ss(myString);
string token;
while (getline(ss, token, 'x')) {
if (!token.empty()) ans.push_back(token);
}
sort(ans.begin(), ans.end());
return ans;
}
1
2
def solution(myString):
return sorted([s for s in myString.split("x") if s])
This post is licensed under CC BY 4.0 by the author.