๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[C++/PGS] Lv.1 : ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ(2021 KAKAO)

xxilliant 2025. 6. 18. 20:09
728x90
๋ฐ˜์‘ํ˜•

 

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr


ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ1.

๋‹จ์ˆœํ•˜๊ฒŒ ์กฐ๊ฑด ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ!

3๋‹จ๊ณ„๊ฐ€ ์กฐ๊ธˆ ๊นŒ๋‹ค๋กœ์šด๋ฐ, ์  ๊ฐฏ์ˆ˜๋ฅผ ๋ˆ„์ ์‹œํ‚ค๋ฉฐ ์ ์ด ๋‚˜์˜ค๋‹ค๊ฐ€ ๋ฉˆ์ท„์„ ๋•Œ ' . '์„ ํ•˜๋‚˜๋งŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค

 

 

๋‚˜์˜ ํ’€์ด

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

string solution(string new_id) {
    // 1
    for(int j=0; j<new_id.length(); ++j){
        char t = new_id[j];
        if(t>='A' && t<='Z') new_id[j] = tolower(t);
    }
    // 2
    string tmp = "";
    for(int j=0; j<new_id.length(); ++j){
        char t = new_id[j];
        if((t>='a' && t<='z') || (t>='0' && t<='9') || t=='-' || t=='_' || t=='.')
            tmp+=t;
    }
    new_id = tmp;
    
    // 3
    tmp = "";
    int cnt = 0;
    for(int j=0; j<new_id.length(); ++j){
        if(j<new_id.length()-1 && new_id[j]=='.'){
            cnt++;
            continue;
        }
        if(cnt>0 && new_id[j]!='.'){
            tmp += '.';
            tmp += new_id[j];
            cnt = 0;
            continue;
        }
        tmp += new_id[j];
    }
    new_id = tmp;
    
    // 4
    tmp = "";
    for(int j=0; j<new_id.length(); ++j){
        if(j==0 && new_id[j]=='.') continue;
        if(j==new_id.length()-1 && new_id[j]=='.') continue;
        tmp += new_id[j];
    }
    new_id = tmp;
    
    // 5
    if(new_id.length()==0){
        new_id += 'a';
    }
    
    // 6
    tmp = "";
    if(new_id.length() >= 16){
        for(int j=0; j<14; ++j){
            tmp += new_id[j];
        }
        if(new_id[14]!='.') tmp += new_id[14];
        new_id = tmp;
    }
    
    // 7
    if(new_id.length()==1){
        new_id += new_id[0];
        new_id += new_id[0];
    }
    else if(new_id.length()==2){
        new_id += new_id[1];
    }
    
    return new_id;
}

728x90
๋ฐ˜์‘ํ˜•