๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ( Level 1, 2021 ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ)

by ์•ˆ์ฃผํ˜• 2021. 10. 22.

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ

์นด์นด์˜ค์— ์ž…์‚ฌํ•œ ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๋„ค์˜ค๋Š” "์นด์นด์˜ค๊ณ„์ •๊ฐœ๋ฐœํŒ€"์— ๋ฐฐ์น˜๋˜์–ด, ์นด์นด์˜ค ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์˜ ์•„์ด๋””๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "๋„ค์˜ค"์—๊ฒŒ ์ฃผ์–ด์ง„ ์ฒซ ์—…๋ฌด๋Š” ์ƒˆ๋กœ

programmers.co.kr

 

์ฝ”๋“œ

#include <string>
#include <vector>
#include <algorithm>
#include <regex>

using namespace std;

string solution(string new_id) {
    string answer = "";
    string id = new_id;
    transform(id.begin(), id.end(), id.begin(), ::tolower);  //1๋‹จ๊ณ„
    string temp="";
    for(int i=0; i<id.length(); i++){   //2๋‹จ๊ณ„
        if(isalpha(id[i])||isdigit(id[i])||id[i]=='-'||id[i]=='_'||id[i]=='.') temp+=id[i];
    }
    id = temp;
    temp.clear();
    
    id = regex_replace(id, regex("[.]{2,}"),".");  //3๋‹จ๊ณ„

    if(id.back()=='.') id.pop_back();   //4๋‹จ๊ณ„
    if(id.front()=='.') id.erase(id.begin());
    if(id.empty()) id+='a'; //5๋‹จ๊ณ„
    if(id.length()>=16){    //6๋‹จ๊ณ„
        while(id.length()!=15) id.pop_back();
        if(id.back()=='.') id.pop_back();
    }
    if(id.length()<=2){ //7๋‹จ๊ณ„
        char last = id.back();
        while(id.length()!=3) id+=last;
    }
    answer = id;
    return answer;
}

 

ํ’€์ด(17๋ถ„)

3๋‹จ๊ณ„์ธ ".."์„ "."๋กœ ์น˜ํ™˜ํ•  ๋•Œ ์ •๊ทœ์‹์„ ์ด์šฉํ•ด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.

 

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด( Level 1, 2021 ์นด์นด์˜ค ์ธํ„ด์‹ญ)

๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด ๋„ค์˜ค์™€ ํ”„๋กœ๋„๊ฐ€ ์ˆซ์ž๋†€์ด๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค์˜ค๊ฐ€ ํ”„๋กœ๋„์—๊ฒŒ ์ˆซ์ž๋ฅผ ๊ฑด๋„ฌ ๋•Œ ์ผ๋ถ€ ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜๋‹จ์–ด๋กœ ๋ฐ”๊พผ ์นด๋“œ๋ฅผ ๊ฑด๋„ค์ฃผ๋ฉด ํ”„๋กœ๋„๋Š” ์›๋ž˜ ์ˆซ

dkswnkk.tistory.com

ํŠนํžˆ ์œ„ ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋‚˜์™”์„ ๋•Œ regex_replace๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ํ™œ์šฉ๋ฉด์—์„œ ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.

regex ํ•จ์ˆ˜๋Š” ์•„๋ž˜ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ •๋ฆฌ ํ–ˆ์œผ๋‹ˆ ์ฐธ๊ณ  ํ•˜์‹œ๋ฉด ๋„์›€์ด ๋˜์‹ค ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

[C++, ์ฝ”ํ…Œ์šฉ] ํŠน์ •๋ฌธ์ž ์น˜ํ™˜ regex_replace

ํŠน์ •๋ฌธ์ž ๋ณ€ํ™˜ regex_replace #include #include using namespace std; int main(){ string s = "OneTwoThree"; string s2 = "..."; //regex_replace (๋Œ€์ƒ, ์ •๊ทœํ‘œํ˜„์‹ ๊ฐ์ฒด, ์น˜ํ™˜ ๊ฒฐ๊ณผ) s = regex_replace(s,..

dkswnkk.tistory.com

 

๋Œ“๊ธ€