Programming Solve/프로그래머스

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

msm1029 2021. 7. 7. 23:54
반응형

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12930

 

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

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

programmers.co.kr

<풀이>

문자열은 여러 단어로 이루어져있다. 따라서 공백이 나타난 후 새 단어가 시작된다.

조건에 따라 단어의 홀수번째는 소문자로, 짝수번째는 대문자로 변환해주면 된다.

 

<코드>

#include <bits/stdc++.h>
using namespace std;

string solution(string s) {
    string answer = "";
    int ws = 0; //word start
    for(int i=0;i<s.size();i++){
        if(s[i]==' '){
            answer += ' ';
            ws = 0;
            continue;
        }
        else if(ws%2==0){
            answer += toupper(s[i]);
            ws++;
        }
        else{
            answer += tolower(s[i]);
            ws++;
        }
    }
    
    return answer;
}
반응형