Make Unreal REAL.
article thumbnail
Level 0. 문자열 잘라서 정렬하기

 

 

굉장히 기초적인 파싱 문제인데 이 문제 때문에 하루를 꼬박 썼다..

 

분명 알고리즘엔 문제가 없는데 도대체 왜 안 될까 생각하며 다른 파싱 기법도 써봤는데 계속 안 됐다.

 

결국은 set이 문제였다는 걸 깨달았다..

set이 중복을 허용하지 않는다는 걸 깜빡하고 있었다..

 

#include <iostream>
#include <vector>
#include <set>

using namespace std;

vector<string> solution(string myString)
{
    multiset<string> mset;
    size_t last = 0;

    do
    {
        size_t first = myString.find_first_not_of('x', last);
        last = myString.find('x', first);

        if (first != string::npos)
            mset.emplace(myString.substr(first, last - first));
    }
    while (last != string::npos);

    return vector<string>(mset.begin(), mset.end());
}

'자료구조 & 알고리즘 > 프로그래머스' 카테고리의 다른 글

Level 0. 문자 개수 세기  (0) 2023.05.24
Level 2. 연속된 부분 수열의 합  (0) 2023.05.23
Level 0. 세로 읽기  (0) 2023.05.21
Level 2. 구명보트  (1) 2023.05.20
Level 2. N개의 최소공배수  (0) 2023.05.19
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그