Post

[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.