반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181868
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
답
#include <string>
#include <vector>
using namespace std;
vector<string> solution(string my_string) {
vector<string> answer;
string temp="";
for(int i=0;i<my_string.size();i++){
if(my_string[i]==' '){
if(temp!=""){
answer.push_back(temp);
temp="";
}
}
else{
temp+=my_string[i];
}
}
if(temp!=""){
answer.push_back(temp);
temp="";
}
return answer;
}
answer은 결과를 저장할 문자열 벡터이다.
temp는 임시 문자열로, 공백이 나타날 때까지의 문자들을 저장한다.
my_string을 처음부터 끝까지 순회한다.(i)
my_strign[i]가 ' '(공백) 이라면
- temp가 비어있지 않다면
- temp를 answer에 추가하고 temp를 비운다.
공백이 아니라면
- temp에 my_string[i]를 추가한다.
for문이 끝나고
temp가 비어있지 않다면
answer에 temp를 넣어주고 temp를 비운다.
이 프로그램은 주어진 문자열을 공백 문자를 기준으로 나눠서 각각의 부분 문자열순서대로 vector에 저장한다.
예를들어, "hello world"라는 문자열이 있으며 "hello"와 "world"라는 두 개의 문자열을 벡터에 저장하고 반환한다.
끝
반응형
'c++ > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 간단한 식 계산하기(c++) (4) | 2024.01.23 |
---|---|
[프로그래머스] 세 개의 구분자(c++) (2) | 2024.01.13 |
[프로그래머스] 두 수의 합(c++) (0) | 2024.01.13 |
[프로그래머스] 정수를 나선형으로 배치하기(c++) (0) | 2024.01.13 |
[프로그래머스] 그림 확대(c++) (0) | 2024.01.12 |