N

(프로그래머스 c++)이상한 문자 만들기 본문

프로그래머스 알고리즘/1단계

(프로그래머스 c++)이상한 문자 만들기

naeunchan 2020. 4. 27. 09:27
728x90
반응형

 

단어 별 인덱스의 따라 대소문자로 변환하는 문제..!

대문자로 변환해주는 toupper()함수와 소문자로 변환해주는 tolower()함수를 이용하면 쉽게 풀 수 있다.

또한 단어마다 0번째 인덱스부터 시작하니 이것만 처리해주면 풀 수 있는 문제..!

count 변수를 이용하여 단어의 인덱스 위치를 체크해주고,

띄어쓰기가 나오면 count를 0으로 초기화하여 새로운 단어의 인덱스부터 시작한다..!

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    int count = 0;
    
    for(int i = 0; i < s.size(); i++)
    {
        if(s[i] == ' ')
        {
            count = 0;
            answer.push_back(' ');
            continue;
        }
        if(s[i] >= 'a' && s[i] <= 'z')
        {
            if(count % 2 == 0)
                answer.push_back(toupper(s[i]));
            else
                answer.push_back(tolower(s[i]));
            count++;
        }
        else
        {
            if(count % 2 == 0)
                answer.push_back(toupper(s[i]));
            else
                answer.push_back(tolower(s[i]));
            count++;
        }
    }
    
    return answer;
}
728x90
반응형