250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++)JadenCase 문자열 만들기 본문
728x90
반응형
문자열의 대소문자를 변환해주는 toupper()와 tolower() 함수를 이용하였다.
toupper()는 대문자로, tolower()는 소문자로 변환해준다..!
해당 문자가 알파벳인 경우 알맞게 변환해주고, 알파벳이 아닌 경우는 문자 그대로 리턴되기 때문에
이 특징을 살려서 함수를 사용하였다.
그리고 문자의 위치를 나타내는 index를 선언하였고, index가 0인 경우는 대문자로 변환해준다.
우선 s.size()만큼 반복하자.
s[i]가 공백인지 아닌지를 검사해야 한다.
공백은 그대로 넣어주고, 공백 다음 문자는 JadenCase이기 때문에 index = 0으로 바꿔준다.
만약 공백이 아니라면 해당 문자는 알파벳이다.
그러면 index를 검사하여 0인지 아닌지 판단한다.
0이면 toupper(s[i])를 answer에 붙이고,
0이 아니라면 tolower(s[i])를 answer에 이어 붙여주면 된다..!
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
int index = 0;
for(int i = 0; i < s.size(); i++)
{
if(s[i] == ' ')
{
answer += ' ';
index = 0;
}
else
{
if(index == 0)
answer += toupper(s[i]);
else
answer += tolower(s[i]);
index++;
}
}
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > 2단계' 카테고리의 다른 글
(프로그래머스 c++)피보나치 수 (0) | 2020.05.21 |
---|---|
(프로그래머스 c++)행렬의 곱셈 (0) | 2020.05.20 |
(프로그래머스 c++)N개의 최소공배수 (0) | 2020.05.20 |
(프로그래머스 c++)짝지어 제거하기 (0) | 2020.05.20 |
(프로그래머스 c++)올바른 괄호 (2) | 2020.05.19 |