N

(프로그래머스 c++)JadenCase 문자열 만들기 본문

프로그래머스 알고리즘/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
반응형