본문 바로가기

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

[Level 1][C++] 이상한 문자 만들기

#include <string>
#include <cstring>
#include <cctype>

using namespace std;


string solution(string s) {
     int count = 1;
     char * arr = new char[s.length() + 1];
     strcpy(arr, s.c_str());
     for (int i = 0; i < s.length(); i++)
     {
          if (arr[i] == ' ')
          {
               count = 1;
               continue;
          }

          if (count % 2 == 1)
          {
               if (islower(arr[i]))   //헤더 cctype에 있는 소문자인지 판별하는 함수
               arr[i] = toupper(arr[i]);  //헤더 cctype에 있는 대문자로 변환하는 함수
          }
          else
          {
               if (isupper(arr[i]))   //대문자인지 판별하는 함수
               arr[i] = tolower(arr[i]);  //소문자로 변환하는 함수
          }

          count++;
     }

     string answer(arr);
     return answer;
}