오답노트

프로그래머스 2단계 - JadenCase 문자열 만들기 본문

카테고리 없음

프로그래머스 2단계 - JadenCase 문자열 만들기

권멋져 2022. 6. 2. 16:36
https://programmers.co.kr/learn/courses/30/lessons/12951
 

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

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고

programmers.co.kr

- 문제 파악

영문 또는 숫자로 주어지는 문자열에서 첫번째 단어가 영문일때는 무조건 대문자로 그 뒤는 모두 소문자로 된 문자열로 만들어 출력하라

 

- 정답

문자열에 관련된 문제는 종종 아스키코드가 헷갈린다

 

소문자 > 대문자
소문자 - 대문자 = 0x20

숫자 -> 숫자 문자열
숫자 + 0x30 = 숫자 문자열

 

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    
    for(int i = 0 ; i < s.size() ; i++)
    {
        char sz = s[i];
        
        if(i > 0)
        {
            if(s[i-1] == ' ')
            {
                if(s[i] > 'Z')               
                    sz = s[i] - 0x20;               
            }
            else if(s[i] != ' ')
            {
                if(s[i] <= 'Z')               
                    sz = s[i] + 0x20; 
            }
        }
        else
        {
            if(s[i] > 'Z')               
                sz = s[i] - 0x20;    
        }
        
        answer.push_back(sz);
        
    }
    
    
    
    return answer;
}