ALGORITHM/프로그래머스
프로그래머스(레벨2) JadenCase 문자열 만들기
JC0
2023. 9. 12. 20:02
JadenCase 문자열 만들기 문제를 풀어보았다.
벡터변수와 string 변수를 만들어서 공백으로 구분하여 벡터에 추가하였다.
현재 문자 위치가 공백이 아니고 현재 문자 -1에 해당하는 위치가 공백이라면 toupper메소드를 이용해서 대문자로 바꿔주면 해결할 수 있는 문제이다.
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
string solution(string s) {
string answer = "";
vector<string> v;
string temp = "";
for(int i = 0; i < s.length(); i++)
{
if(i == 0)
{
temp += toupper(s[i]);
}
else if(s[i] != ' ' && s[i-1] != ' ')
{
temp += tolower(s[i]);
}
else if(s[i] != ' ' && s[i-1] == ' ')
{
temp += toupper(s[i]);
}
else if(s[i] == ' ')
{
v.push_back(temp);
v.push_back(" ");
temp.clear();
}
if(i == s.length() - 1)
{
v.push_back(temp);
}
cout << "s[" << i << "] = " << s[i];
cout << " s[i-1] = " << s[i-1] << endl;
}
for(string s : v)
{
cout << s;
answer += s;
}
return answer;
}
1.첫번째 문자가 숫자여서 무시한다.
2.현재문자가 공백이 아니고 이전 문자가 공백이기 때문에 대문자로 변환한다.