bdfgdfg

[레벨1] 이상한 문자 만들기 본문

코딩테스트/프로그래머스

[레벨1] 이상한 문자 만들기

marmelo12 2021. 8. 30. 17:31
반응형
#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    string temp = "";
    int pos = 0;
    temp.reserve(s.size());
    answer.reserve(s.size());
    // 짝수번째 알파벳은 대문자 홀수번째 알파벳은 소문자.
    for (int i = 0; i < s.size(); ++i)
    {
        if (s[i] == ' ')
        {
            answer += temp;
            answer += ' ';
            temp = "";
            pos = 0;
            continue;
        }

        if (pos == 0 || pos % 2 == 0) // 짝수 대문자
        {
            if(s[i] >= 'a' && s[i] <= 'z')
                temp += (s[i] - 32);
            else
                temp += s[i];
        }
        else // 홀수 소문자
        {
            if(s[i] >= 'a' && s[i] <= 'z')
                temp += s[i];
            else
                temp += s[i] + 32;
        }
        pos++;
    }
    answer += temp;
    return answer;
}
반응형
Comments