문제설명
문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ myString의 길이 ≤ 100,000
- myString은 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
입출력 예 설명
입출력 예 #1
- "x"를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 각각의 길이로 배열을 만들면 [1, 2, 1, 0, 1, 0]입니다. 따라서 [1, 2, 1, 0, 1, 0]을 return 합니다.
입출력 예 #2
- "x"를 기준으로 문자열을 나누면 ["", "abc", "def", "ghi"]가 됩니다. 각각의 길이로 배열을 만들면 [0, 3, 3, 3]입니다. 따라서 [0, 3, 3, 3]을 return 합니다.
작성코드
#include <string>
#include <vector>
using namespace std;
vector<int> solution(string myString) {
vector<int> answer;
int xpos;
while ((xpos = myString.find('x')) != string::npos) {
answer.push_back(xpos);
myString = myString.substr(xpos + 1);
}
// 마지막 x 이후의 문자열 길이 추가
answer.push_back(myString.size());
return answer;
}
문제 URL
https://school.programmers.co.kr/learn/courses/30/lessons/181867
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'C++ > 코딩 기초 트레이닝' 카테고리의 다른 글
[C++/프로그래머스] 간단한 식 계산하기 (0) | 2023.12.13 |
---|---|
[C++/프로그래머스] 문자열 잘라서 정렬하기 (0) | 2023.12.13 |
[C++/프로그래머스] 공백으로 구분하기 2 (0) | 2023.12.13 |
[C++/프로그래머스] 공백으로 구분하기 1 (0) | 2023.12.13 |
[C++/프로그래머스] ad 제거하기 (0) | 2023.12.13 |