programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ(C++)

2023. 1. 8. 13:43ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

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

๋ฌธ์ œ ํ’€์ด

๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์กฐ๊ฑด์„ ์ž˜ ํŒŒ์•…ํ•˜๋Š” ๊ฒŒ ์ค‘์š”ํ•œ ๋ฌธ์ œ์˜€๋‹ค. ๋‚˜๋Š” ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด๊ณ  ๋‹ค์Œ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด ์•„๋‹ˆ๋ฉด ๋‹จ์–ด๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด ์•„๋‹ˆ๊ณ  ์ด์ „ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด๋ฉด ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ๋‚˜๋Š” ์ข…๋ฃŒ ์กฐ๊ฑด์„ ํŒ๋‹จํ–ˆ๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์€ ์‹œ์ž‘ ์กฐ๊ฑด์„ ํŒ๋‹จํ–ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋‹จ์–ด์˜ ์ฒซ ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ณ  ๋‚˜๋จธ์ง€๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฌธ์ œ์˜€์œผ๋ฏ€๋กœ ์‹œ์ž‘ ์กฐ๊ฑด์„ ํŒ๋‹จํ•˜๋Š” ๊ฒŒ ๋” ๊ดœ์ฐฎ์•˜์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋˜ํ•œ tolower, toupper ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ด๋‹ค. ๋‚˜๋Š” ์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ’€์—ˆ๋‹ค.

 

๋‚ด ํ’€์ด

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string  answer = "";
    string  cur_word = "";
    bool    is_word_complete = false;
    
    for(int i = 0 ; i < s.size() ; ++i)
    {
        cur_word += s[i];
 
        if(i+1 == s.size())
        {
            is_word_complete = true;
        }
        else
        {
            if(s[i] == ' ' && s[i+1] != ' ')
                is_word_complete = true;
        }
        
        if(is_word_complete)
        {
            // ์ฒซ๋ฒˆ์งธ ์ˆ˜ ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ
            if(cur_word[0] >= 'a' && cur_word[0] <= 'z')
            {
                cur_word[0] -= 32;
            }
            
            // ๋‚˜๋จธ์ง€ ์ˆ˜ ์ค‘ ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ
            for(int j = 1 ; j < cur_word.size(); ++j)
            {
                if(cur_word[j] >= 'A' && cur_word[j] <= 'Z')
                {
                    cur_word[j] += 32;
                }
            }
            
            answer += cur_word;
            cur_word.clear();
            is_word_complete = false;
        }
        
    }
    return answer;
}

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ–ฅ๏ธ Study Note > Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

programmers / level.2 / ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ(C++)  (0) 2023.01.11
programmers / level.2 / ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ(C++)  (0) 2023.01.11
programmers / level.2 / ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ(C++)  (0) 2023.01.11
programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ (c++)  (0) 2023.01.06
[BOJ2606] ๋ฐ”์ด๋Ÿฌ์Šค - C++ ํ’€์ด  (0) 2022.05.24
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • programmers / level.2 / ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ(C++)
  • programmers / level.2 / ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ(C++)
  • programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ (c++)
  • [BOJ2606] ๋ฐ”์ด๋Ÿฌ์Šค - C++ ํ’€์ด
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (141) N
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (135) N
        • Unreal Engine (5) N
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (6) N
        • ์˜ค๋‹ต๋…ธํŠธ (2)
        • UE5 GameLift Server Test Project (1)
        • TIL (3) N
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Beankong_
programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ(C++)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”