Programmers/Level 1

C++ / 프로그래머스 / 이상한 문자 만들기

GitHubSeob 2021. 9. 13. 18:58

문제

https://programmers.co.kr/learn/courses/30/lessons/12930

 

코딩테스트 연습 - 이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을

programmers.co.kr

문제풀이

단어의 맨 앞 글자를 포함한 짝수번째 글자는 대문자로, 홀 수 번째 글자는 소문자로 바꾼다.

공백은 공백으로 출력하면 된다.

소문자로 변경해주는 tolower, 대문자로 변경해주는 toupper함수를 이용한다.

 

코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    int idx=0;
    int check=0;
    for(idx=0;idx<s.size();++idx,++check){
        if(s[idx]==' ') {
            check=-1;
            answer.push_back(' ');
        }
        if(check%2==1)
            answer.push_back(tolower(s[idx]));
        else if(check%2==0)
            answer.push_back(toupper(s[idx]));        
    }
    return answer;
}