이상한 문자 만들기

NJW·2021년 8월 20일
0

코테

목록 보기
65/170

들어가는 말

각 단어마다 짝수는 대문자, 홀수는 소문자로 바꿔주는 문제이다. 푸는데 시간이 오래 걸렸는데, 그 이유는 테스트 값이 모두 소문자로 주어질 줄 알았다. 그래서 짝수만 대문자로 바꿔줘서 계속 틀렸다. 틀린 이유를 정확하게 모른 나는 엉뚱한 곳에서 삽질을 한참했고... 문제를 주의 깊게 뜯어보자 마음 먹어도 쉽지 않다.

코드 설명

단어를 기준으로 짝수 혹은 홀수를 판단하므로, 공백을 기준 삼는 변수 n을 이용했다. 만일 공백이 발견된다면 n을 0으로 두어 새롭게 시작하도록 한다. 그리고 마지막에는 n++를 해서 단어의 짝/홀을 판단하게 했다.
n이 2로 나눠떨어지면, 짝수라는 의미이니 그 글자를 대문자로 만들어준다. n이 2로 나눠떨어지지 않으면, 홀수라는 의미이니 그 글자를 소문자로 만들어준다.

코드

#include <string>
#include <vector>
#include <cctype>

using namespace std;

string solution(string s) {
    int n = 0;
    
    for(int i = 0; i < s.size(); i++){
        if(s[i] == ' '){
            n = 0;
            continue;
        }else if(n % 2 == 0){
            s[i] = toupper(s[i]);
        }else{
            s[i] = tolower(s[i]);
        }
        n++;
    }
    
    return s;
}
profile
https://jiwonna52.tistory.com/

0개의 댓글