본문 바로가기
Algorithm 🧑🏻‍💻/프로그래머스(Programmers)

[c++] 프로그래머스 - JadenCase 문자열 만들기 ( Level 2 )

by 안주형 2021. 10. 19.

문제

 

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

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

programmers.co.kr

 

코드

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

string solution(string s) {
    
    if(islower(s[0])) s[0] = toupper(s[0]);
    for(int i=1; i<s.length(); i++){
        if(!isdigit(s[i-1])&&!isalpha(s[i-1])) s[i]=toupper(s[i]);
        else s[i] = tolower(s[i]);
    }
    return s;
}

 

풀이(5분)

1단계로 내려가도 될 것 같은데 전혀 2단계스럽지 않은 문제였습니다. 첫 문자는 무조건 대문자로 바꿔주고 그 이후부터는 앞에 문자가 숫자도 아니고 알파벳도 아닐 때만 대문자로 바꿔주면 됩니다. (그런 경우는 공백이기 때문) 

댓글