본문 바로가기
대딩/프로그래머스풀이

[프로그래머스 lv2] JadenCase 문자열 만들기 풀이

by 경아ㅏ 2022. 8. 14.

 프로그래머스의 모든 문제와 해설 보기[클릭]

 

해설

문자열을 이루는 모든 단어들에 대하여 첫글자는 대문자로, 나머지 글자는 소문자로 변경하는 문제이다.

첫글자는 toupper(), 나머지 글자들은 tolower() 함수로 변경하면 정답이다.

 

참고 하면 좋을 것

toupper()는 소문자를 대문자로 변경하는 함수, tolower()는 대문자를 소문자로 변경하는 함수로 <cctype> 헤더파일 내에 있다.

영어 문자가 아닌 다른 문자에 대해서는 원래 문자를 그대로 반환한다.

 

 

코드

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <tuple>
#include <vector>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <cctype>
#include <iostream>

using namespace std;
using ii = pair<int, int>;
using iii = tuple<int, int, int>;

#define X first
#define Y second

string solution(string s) {

    string ans = "";
    
    int i = 0;
    while (i < s.size()) { 
        ans += toupper(s[i++]); 
        while (i < s.size() && s[i] != ' ') ans += tolower(s[i++]); 
        while (i < s.size() && s[i] == ' ') ans += s[i++]; 
    }
    return ans;
}

 

 

댓글