오답노트
프로그래머스 2단계 - JadenCase 문자열 만들기 본문
https://programmers.co.kr/learn/courses/30/lessons/12951
코딩테스트 연습 - JadenCase 문자열 만들기
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고
programmers.co.kr
- 문제 파악
영문 또는 숫자로 주어지는 문자열에서 첫번째 단어가 영문일때는 무조건 대문자로 그 뒤는 모두 소문자로 된 문자열로 만들어 출력하라
- 정답
문자열에 관련된 문제는 종종 아스키코드가 헷갈린다
소문자 > 대문자
소문자 - 대문자 = 0x20
숫자 -> 숫자 문자열
숫자 + 0x30 = 숫자 문자열
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
for(int i = 0 ; i < s.size() ; i++)
{
char sz = s[i];
if(i > 0)
{
if(s[i-1] == ' ')
{
if(s[i] > 'Z')
sz = s[i] - 0x20;
}
else if(s[i] != ' ')
{
if(s[i] <= 'Z')
sz = s[i] + 0x20;
}
}
else
{
if(s[i] > 'Z')
sz = s[i] - 0x20;
}
answer.push_back(sz);
}
return answer;
}