프로그래머스/문자열

JadenCase 문자열 만들기

연구하는개발자 2021. 1. 27. 07:49
728x90

programmers.co.kr/learn/courses/30/lessons/12951

 

코딩테스트 연습 - 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(i==0){
            if(islower(s[i])&&isalpha(s[i])){
               s[i]= s[i]+'A'-'a';
            }
            continue;
        }
        if(s[i-1]==' '){
            if(islower(s[i])&&isalpha(s[i])){
               s[i]= s[i]+'A'-'a';
            }
        }
        else{
            if(isupper(s[i])){
                s[i] = s[i]-('A'-'a');
            }
        }
        
    }
    answer =s;
    return answer;
}

 

- string 라이브러리 islower , isupper, isalpha 라는 알파벳관련 함수가 존재한다. 

- 하나의 문자를 대문자 혹은 소문자를 만들 때에는 'A'-'a' 를 더해주거나 빼준다.