[C++] 프로그래머스 x 사이의 개수

문제설명

문자열 myString이 주어집니다.
myString을 문자 "x"를 기준으로 나눴을 때
나눠진 문자열 각각의 길이를 순서대로 저장한 배열을
return 하는 solution 함수를 완성해 주세요.


제한사항

• 1 ≤ myString의 길이 ≤ 100,000
  ◦ myString은 알파벳 소문자로 이루어진 문자열입니다.


입출력 예

myString result
“oxooxoxxox” [1, 2, 1, 0, 1, 0]
“xabcxdefxghi” [0, 3, 3, 3]


풀이

myString 문자열을 “x”로 기준으로 나눠 각각의 문자열의 길이를 return하는 구현 문제입니다.

#include <string>
#include <vector>

using namespace std;

vector<int> solution(string myString) {
    vector<int> answer;
    
    int len = 0;
    
    for(int i = 0; i < myString.length(); i++)
    {
        if(myString[i] != 'x')
            len++;
        else
        {
            answer.push_back(len);
            len = 0;
        }
        
        if(i == myString.length() - 1)
        {
            answer.push_back(len);
        }
    }
    
    return answer;
}


결과

코드 실행결과

Categories:

Updated:

Leave a comment