[프로그래머스 Lv1] 이상한 문자 만들기

수민이슈·2023년 3월 15일
0

[C++] 코딩테스트

목록 보기
6/116
post-thumbnail

🖊️ 문제

https://school.programmers.co.kr/learn/courses/30/lessons/12930#

🖊️ 풀이

ㅋㅋㅋㅋㅋ
이거 왜 30분이나 썼게?

나는.. 공백별로 잘라서 바꿔주고 다시 넣어줘야겠따! 했는데
ㅋㅋ
공백이 띄어쓰기만 있는 줄 알았음
문자열 앞뒤에 공백이 있거나 하면 그 공백들을 다시 넣어줘야 하는 거였다..
그래서 막 ...
난리를 쳤다...

그래도 문자열 자르는 법 배웠다@@ 좋게좋게 생각하자
도움 안되는 삽질은 없다 수민아

C++ 문자열 자르는 법
sstream 라이브러리 stringstream
stringstream : 공백과 '/n'을 제외하고 문자열에서 맞는 자료형의 정보를 뽑아낸다.

#include <sstream>
stringstream ss(s);
ss.str(s);						// ss 초기화
string word;
while(ss >> word) {
	처리...
}
...

C++ String 대문자, 소문자 변환
대문자 변환 : toupper()
소문자 변환 : tolower()

🖊️ 코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    vector<string> vec;
    
    int size = s.length();
    int idx = 0;
    
    for (int i = 0 ; i < size ; i++) {
        if (s[i] == ' ') {
            idx = 0;
        }
        else if (idx % 2 == 0) {
            s[i] = toupper(s[i]);
            idx += 1;
        }
        else if (idx % 2 != 0) {
            s[i] = tolower(s[i]);
            idx += 1;
        }
    }
    
    answer = s;
    
    return answer;
}

0개의 댓글