프로그래머스 Lv.2 코딩테스트

[프로그래머스 Lv.2] JadenCase 문자열 만들기

하다블 2022. 3. 4. 18:32
반응형

문제는 다음과 같습니다.

코딩테스트 연습 - JadenCase 문자열 만들기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - JadenCase 문자열 만들기

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건

programmers.co.kr

 

풀이코드는 다음과 같습니다.

#include <string>
#include <vector>
#include <iostream>
using namespace std;
 
string solution(string s) 
{
    string answer = "";
    for(int i{0}; i < s.size(); i++)
    {
        if(s[i] == ' ')
        {
            answer += s[i];
            continue;
        }
        else
        {
            if(s[i-1] == ' ' || i == 0)
            {
                if('a' <= s[i] && s[i] <= 'z')
                {
                    s[i] = s[i]-'a'+'A';
                }
            }
            else
            {
                if('A' <= s[i] && s[i] <= 'Z')
                {
                    s[i] = s[i]-'A'+'a';
                }
            }
        }
        answer += s[i];
    }
    return s;
}

띄어쓰기를 할 때마다 대문자를 쓴다는 조건은 이전 순서가 공백이었는 지를 확인하는 방법으로 확인할 수 있습니다.

이후 소문자로 바꾸는 방법과 대문자로 바꾸는 방법에 대해 알고 계신다면 해결하실 수 있는 문제입니다.

반응형