본문 바로가기
Algorithm/Coding Test

프로그래머스 : JadenCase 문자열 만들기

by devOat 2023. 8. 8.

문제

난이도 : LV.2

 

 

해설

해설은,,, 나중에 적겠음

 

소스코드

#include <string>
#include <vector>
#include <queue>

using namespace std;

string solution(string s)
{
    queue<char> q; 
    string answer = "";
    
    for(int i =0; i<s.length(); ++i)
    {
        char c = s[i];
        
        if(('0' <= c && c <= '9') ||
          c == ' ')
        {
            q.push(c);
            continue;
        }
        
        // 처음일 경우
        if(q.empty())
        {
            // 숫자
            if('a'<= c && c <= 'z')
            {
                c -= 32;
            }
            q.push(c);
        }
       
        else
        {
            char prevC = q.back();
            // 공백일 경우
            if(prevC == ' ')
            {
                if('a' <= c && c <= 'z')
                {
                    c -= 32;
                }
            }
            else
            {
                if('A' <= c && c <= 'Z')
                {
                    c += 32;
                }
            }
            q.push(c);
        }
    }   
        
    while(!q.empty())
    {
        answer += q.front();
        q.pop();
    }
  
    return answer;
}

입사하고 바쁘다는 핑계로 알고리즘 공부를 놓아버린 요즘...

심기일전하고 간만에 몸풀기 (사실 머리풀기) 코테를 했다.

 

 

신기한 것은 회사 일만 했는데 뜬끔 코테 실력이 늘었다는 것 

+ 글 적는 것은 생각보다 시간이 걸리는 일이니까 진짜 오답노트 할 때만 적을 예정이다.

남는게 시간뿐인 취준과 다르게 회사원은... 너무바빠././. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ