반갑습니다!

[프로그래머스] 이상한 문자 만들기 본문

알고리즘 문제 풀이

[프로그래머스] 이상한 문자 만들기

김덜덜이 2020. 4. 7. 16:42
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

풀이

문자열 s를 순회하면서 인덱스 값을 증가시키며 짝수번쨰 문자인지 홀수번째 문자인지 판단하면된다. 이 때 띄어쓰기가 나오는 경우 인덱스 값을 초기화해주면 된다.

코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    bool find = true;
    int idx = 0;
    for(int i=0; i<s.length(); i++){
        if(s[i] == ' '){
            find = true;
            idx = -1;
        }else if(idx % 2 == 0 && 'a' <= s[i] && s[i] <= 'z'){
            s[i] -= ('a' - 'A');
            find = false;
        }else if(idx % 2 == 1 && 'A' <= s[i] && s[i] <= 'Z'){
            s[i] += ('a' - 'A');
            find = false;
        }
        idx++;
    }
    return s;
}