본문 바로가기

Algorithm/Implementation

(C++) - 프로그래머스(연습문제) : JadenCase 문자열 만들기

반응형

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

 

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

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

programmers.co.kr

문자열을 다루는 문제였습니다.

📕 풀이방법

📔 풀이과정

for loop를 인자로 받은 s의 size만큼 각각 수행합니다.

 1. 대문자였던 모든 문자를 모두 소문자로 치환합니다.

 2. 첫 문자가 소문자라면 대문자로 치환합니다.

📔 정답출력

인자로 받은 s를 반환합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;

string solution(string s) {
    string answer = "";
    int cnt = 0;
    for(int i = 0; i < s.size(); i++){
        if('A' <= s[i] && s[i] <= 'Z'){
            s[i] = s[i] - 'A' + 'a';
        }
    }
    for(int i = 0; i < s.size(); i++){
        if(!cnt)
           if('a' <= s[i] && s[i] <= 'z') {
                s[i] = s[i] - 'a' + 'A';
            cnt = 1;
        }
        if(s[i] == ' ') cnt = 0;
        else cnt++;
    }
    return s;
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.