문제풀이/C, C++

[C++] 프로그래머스 JadenCase 문자열 만들기

딜레이레이 2023. 10. 25. 23:37
 

프로그래머스

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

programmers.co.kr

 

코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    bool start = false;
    for(int i=0;i<s.length();i++){
        if(!start and s[i] != ' '){  // 단어 첫글자인 경우
            start = true;
            answer += toupper(s[i]);
        }
        else{   // 단어 첫글자가 아닌 경우
            if(s[i]==' '){  // 공백인 경우
                start = false;
                answer += s[i];
            }
            else{
                answer += tolower(s[i]);
            }
        }
    }
    return answer;
}

한 단어가 시작되면 첫 글자는 toupper 함수를 이용하여 대문자로 바꿔주고, start는 true로 값을 변경한다.

단어가 시작되고 나서는 뒤에 나오는 글자들을 소문자로 바꿔주며 answer 문자열에 더한다. 그러다가 공백이 나오면 한 단어가 끝난 것이므로  start 값을 false로 수정해준다.