programmers.co.kr/learn/courses/30/lessons/12951
처음에는 그냥 공백 구분해서 제일 앞글자만 대문자로 바꿔주면 되는 줄 알았더니 다른 조건들이 있었다.
1. 문자열 중간에 있는 대문자를 소문자로 바꾸기
2. 공백이 길게 있는 경우 그 공백도 answer에 그대로 추가해야 함
그러니까 hello woRld 같은 경우에 Hello WoRld로 출력하면 안되고 Hello World로 출력해야 한다.
ssstream으로 풀고 테스트 실행했는데 눈이 침침했는지 분명 똑같은 결과인데 뭐가 다르다는 거야; 하면서 한참 고민했다.
웃기네
string solution(string s) {
string answer = "";
int index = 0;
bool prev_blank = true;
while (index < s.size())
{
if (prev_blank && s[index] != ' ')
{
s[index] = toupper(s[index]);
prev_blank = false;
}
else if (s[index] == ' ')
{
prev_blank = true;
}
else if(isupper(s[index]))
{
s[index] = tolower(s[index]);
}
answer += s[index];
index += 1;
}
return answer;
}
'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글
[C++/알고리즘] 프로그래머스 (다트게임) (0) | 2020.10.08 |
---|---|
[C++/알고리즘] 프로그래머스 (오픈채팅방) (0) | 2020.10.08 |
[C++/알고리즘] 프로그래머스 (카펫) (0) | 2020.09.11 |
[C++/알고리즘] 프로그래머스 (프린터) (0) | 2020.09.10 |
[C++/알고리즘] 프로그래머스 (문자열 압축) (0) | 2020.09.09 |