Algorihtm/프로그래머스
C++ 프로그래머스 JadenCase 문자열 만들기
JongHo.dev
2023. 10. 30. 13:38
728x90
728x90
SMALL
https://school.programmers.co.kr/learn/courses/30/lessons/12951
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
1. 공백까지 문자열을 받은 후
2. 맨 첫 번째 글자가 소문자인 경우에 대문자로 바꿔준다.
3. 나머지는 소문자로 바꿔주는데 여기서, 첫 문자가 알파벳이 아닐 경우에도 소문자로 바꿔줘야 한다는 점! 함정이야,,
tolower, toupper 함수도 있지만 아스키코드를 이용해서 +32, -32를 이용해서 구현했다.
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
string tmp="";
for(int i=0;i<s.size();i++){
tmp+=s[i];
if(s[i]==' '||i==s.size()-1){ //공백을 만났을 때, 맨 끝일 때
if(tmp[0]>='a'&&tmp[0]<='z'){ // 맨 첫번째 문자가 소문자인 경우
tmp[0] -=32; // 대문자 변환
}
for(int j=1;j<tmp.size();j++){
if(tmp[j]>='A'&&tmp[j]<='Z') // 대문자 -> 소문자변환
tmp[j]+=32;
} // for
answer += tmp;
tmp="";
} // if
} // for
return answer;
}
728x90
728x90
LIST