반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

답
#include <bits/stdc++.h>
using namespace std;
vector<string> solution(string myStr) {
vector<string> answer;
string temp;
for(int i=0;i<myStr.size();i++){
if(myStr[i]=='a'||myStr[i]=='b'||myStr[i]=='c'){
if(temp!=""){
answer.push_back(temp);
temp="";
}
}
else{
temp+=myStr[i];
}
}
if(temp!=""){
answer.push_back(temp);
temp="";
}
if(answer.empty()==true){
answer.push_back("EMPTY");
}
return answer;
}
answer는 결과를 저장할 문자열 벡터이다.
temp 문자열로, 조건에 맞는 문자들을 임시로 저장합니다.
myStr을 처음 부터 끝까지 순회한다.(i)
만약 mySTr[i]가 'a','b','c'중 하나면
- temp가 비어있지 않으면
- temp를 answer에 추가하고 temp.를 비워준다.
만약 'a','b','c'가 아니면
- temp에 myStr[i]를 추가한다.
for문이 끝나고
temp에 분자열이 남아있으면
- answer에 temp를 추가한다.
answer이 비어잇으면
- answer에 "EMPTY"를 추가해준다.
주어진 문자열에서 'a', 'b', 'c' 문자를 제외한 부분 문자열들을 찾아내고, 그 부분 문자열들을 순서대로 벡터에 저장한다.
만약 'a', 'b', 'c'를 제외한 문자가 없다면, "EMPTY"를 반환헌더,
참고
myStr[i]는 문자열이 아니라 문자이기때문에
myStr[i]=='a'||myStr[i]=='b'||myStr[i]=='c'
이렇게 작은따옴표를 사용했다.
끝
반응형
'c++ > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 접두사인지 확인하기(c++) (2) | 2024.01.27 |
---|---|
[프로그래머스] 간단한 식 계산하기(c++) (4) | 2024.01.23 |
[프로그래머스] 공백으로 구분하기 2(c++) (0) | 2024.01.13 |
[프로그래머스] 두 수의 합(c++) (0) | 2024.01.13 |
[프로그래머스] 정수를 나선형으로 배치하기(c++) (0) | 2024.01.13 |