[프로그래머스/C++]Lv.2 - JadenCase 문자열 만들기

YH J·2023년 6월 9일
0

프로그래머스

목록 보기
127/168

문제 링크

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

내 풀이

문자열을 단어 하나하나 순회하면서 bool이 true면( 맨 앞 글자면 ) 대문자로바꾸고 bool을 false로 바꾸고 나머지는 소문자로 바꾸다가 공백을 만나면 bool을 true로 다시 바꿔준다.

내 코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    bool b = true;
    for(int i = 0; i < s.length(); i++)
    {
        if(b)
        {
            s[i] = toupper(s[i]);
            b = false;
        }
        else
            s[i] = tolower(s[i]);
        if(s[i] == ' ')
            b = true;
    }
    answer = s;
    return answer;
}

다른 사람의 풀이

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";

    answer += toupper(s[0]);
    for (int i = 1; i < s.size(); i++)
        s[i - 1] == ' ' ? answer += toupper(s[i]) : answer += tolower(s[i]);

    return answer;
}

다른 사람의 풀이 해석

for문 돌리기 전에 맨 앞 단어부터 일단 처리해둔 뒤 for문을 돌리면서 검사하는 글자의 이전 글자가 공백이면 대문자로 , 아니면 소문자로 변환해준다.

profile
게임 개발자 지망생

0개의 댓글