프로그래머스 알고리즘/2단계
(프로그래머스 c++)JadenCase 문자열 만들기
naeunchan
2020. 5. 20. 11:37
728x90
반응형
문자열의 대소문자를 변환해주는 toupper()와 tolower() 함수를 이용하였다.
toupper()는 대문자로, tolower()는 소문자로 변환해준다..!
해당 문자가 알파벳인 경우 알맞게 변환해주고, 알파벳이 아닌 경우는 문자 그대로 리턴되기 때문에
이 특징을 살려서 함수를 사용하였다.
그리고 문자의 위치를 나타내는 index를 선언하였고, index가 0인 경우는 대문자로 변환해준다.
우선 s.size()만큼 반복하자.
s[i]가 공백인지 아닌지를 검사해야 한다.
공백은 그대로 넣어주고, 공백 다음 문자는 JadenCase이기 때문에 index = 0으로 바꿔준다.
만약 공백이 아니라면 해당 문자는 알파벳이다.
그러면 index를 검사하여 0인지 아닌지 판단한다.
0이면 toupper(s[i])를 answer에 붙이고,
0이 아니라면 tolower(s[i])를 answer에 이어 붙여주면 된다..!
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
int index = 0;
for(int i = 0; i < s.size(); i++)
{
if(s[i] == ' ')
{
answer += ' ';
index = 0;
}
else
{
if(index == 0)
answer += toupper(s[i]);
else
answer += tolower(s[i]);
index++;
}
}
return answer;
}
728x90
반응형