[C++로 풀이] JadenCase 문자열 만들기 ⭐⭐

Date:     Updated:

카테고리:

태그:

📌 JadenCase 문자열 만들기

난이도 ⭐⭐

🚀 문제

image


🚀 내 풀이 ⭕

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = s;
    
    bool newWord = true;
    for(int i = 0; i < answer.length(); i++)
    {
        if (answer[i] == ' ')
            newWord = true;
        else if (newWord)
        {
            newWord = false;
            if (answer[i] >= 'a' && answer[i] <= 'z')
                answer[i] -= 32;
        }
        else
        {
            if (answer[i] >= 'A' && answer[i] <= 'Z')
                answer[i] += 32;
        }
    }
    
    return answer;
}
  • 첫 문자를 마주할 땐 newWord가 true인 상태. (공백일 때 true로 바꿔놔서)
    • 첫 문자(newWord true)가 소문자면 대문자로 바꿔주면 되고
    • 첫 문자가 아닌 문자들이(newWord false) 대문자면 소문자로 바꿔주면 된다.

그냥 flag 사용할 필요 없이 이전 문자 answer[i-1]이 공백이면 첫문자인 것이니 if(answer[i-1] == ‘ ‘)로 첫문자를 따졌어도 괜찮았을 것 같다.

tolower, toupper 함수를 사용하여 변환해도 괜찮다.



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Programmers 카테고리 내 다른 글 보러가기

댓글 남기기