[C++] 프로그래머스 이상한 문자 만들기
2020. 12. 4.
반응형

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

 

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

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

programmers.co.kr

 

1. 서론

 

주의 깊게 풀어야 하는 level 1 문제.

 

2. 문제 풀이

 

문자열에서 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾼다. 이때 짝수와 홀수의 기준은 문자열의 공백이다.

그냥 문자열의 짝, 홀수번째가 아니다. 공백을 기준으로 짝, 홀수를 구별해서 대, 소문자로 변환한 뒤 문자열을 return 한다.

 

난 공백을 기준으로 숫자를 새로 만들어서 짝, 홀수를 구별한 후 대, 소문자로 변환해서 문자열을 return 해줬다.

 

3. 코드 설명

 

#include <string>
#include <vector>

using namespace std;

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

 

i로는 문자열의 길이로 돌리고 j는 공백을 기준으로 문자열을 홀짝으로 나눌 수 있게 해 준다.

toupper는 문자를 대문자로, tolower는 문자를 소문자로 바꿔주는 함수이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
myoskin