SW/알고리즘

C++ : 프로그래머스 : 이상한 문자 만들기 : 풀이

얇은생각 2019. 6. 5. 12:30
반응형

풀이


#include <string>
#include <vector>

using namespace std;

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




실행 결과

정확성 테스트
테스트 1 통과 (0.01ms, 3.77MB)
테스트 2 통과 (0.01ms, 3.85MB)
테스트 3 통과 (0.00ms, 3.92MB)
테스트 4 통과 (0.01ms, 3.77MB)
테스트 5 통과 (0.01ms, 3.81MB)
테스트 6 통과 (0.00ms, 3.93MB)
테스트 7 통과 (0.01ms, 3.75MB)
테스트 8 통과 (0.01ms, 3.88MB)
테스트 9 통과 (0.00ms, 3.89MB)
테스트 10 통과 (0.01ms, 3.84MB)
테스트 11 통과 (0.01ms, 3.77MB)
테스트 12 통과 (0.01ms, 3.84MB)
테스트 13 통과 (0.01ms, 3.82MB)
테스트 14 통과 (0.00ms, 3.84MB)
테스트 15 통과 (0.00ms, 3.79MB)
테스트 16 통과 (0.01ms, 3.75MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0




총평

flag를 사용하여 문제를 해결하였습니다. flag가 true인 경우에는 대문자를 삽입합니다. 그리고 flag를 false로 초기화합니다. 또한, 공백이 나오는 경우, 공백을 추가하고 flag를 true로 초기화합니다. 따라서 그 다음 문자가 나올 시에는 다시 바로 대문자를 삽입합니다. false인 경우에는 소문자를 삽입하고, flag를 true로 초기화 합니다.

반응형