Programmers Review

[Lv 1] 이상한 문자 만들기

hanseongbugi 2024. 5. 27. 17:31

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

 

프로그래머스

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

programmers.co.kr

 

이 문제는 공백을 기준으로 단어를 판단하면 해결할 수 있다.

이때 짝수 인덱스는 대문자로 홀수 인덱스는 소문자로 만들어야한다.

주의할점은 짝수 인덱스가 원래 대문자인 경우 대순자로 홀수 인덱스가 원래 소문자인 경우 소문자로 저장해야한다.

이를 위해 짝수 일때 대문자인지 홀수 일때 소문자인지 판단하면 된다.

 

#include <string>
#include <vector>

using namespace std;
int N;
string solution(string s) {
    string answer = "";
    N = s.length();
    int cnt = 0;
    for(int i = 0;i<N; i++){
        if(s[i] == ' '){
            cnt = 0;
            answer += s[i];
            continue;
        }
        
        if(cnt % 2 == 0){
            if(s[i]>='a')
                answer += s[i] - 32;
            else
                answer += s[i];
        }
        else{
            if(s[i]<'a')
                answer += s[i] + 32;
            else
                answer += s[i];
        }
        cnt++;
    }
    return answer;
}