- ์ฌ๊ท
- ์์ฝ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- C++
- Union-Find
- ์นด์นด์ค2021
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ๋ค์ต์คํธ๋ผ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- go
- ๋นํธ๋ง์คํน
- DFS
- ๋นํธ๋งต
- ์๊ณ ๋ฆฌ์ฆ
- ์ด๋ถํ์
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ํธ๋ฆฌ
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- DP
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- Python
- ์นด์นด์ค ์ฝํ
- BFS
- nestjs
- ์ํฐ๋
- LCs
- ์น๋ฆฐ์ด
- js
- ๋ฐฑ์ค
- golang
- Today
- Total
Hello Ocean! ๐ผ
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ๋งค์นญ ์ ์ ๋ณธ๋ฌธ
๋ฌธ์ ์ค๋ช
์ฃผ์ด์ง ๊ฒ์์ด
์ ๋ํ ์น ํ์ด์ง
์ ๋งค์นญ์ ์
๋ฅผ ๊ณ์ฐํด์, ๋งค์นญ์ ์๊ฐ ๊ฐ์ฅ ํฐ ์น ํ์ด์ง์ ์ธ๋ฑ์ค ๊ตฌํ๊ธฐ
๋ง์ฝ ๊ทธ๋ฐ ์นํ์ด์ง๊ฐ ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด ๊ทธ์ค ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ๊ฒ์ ๊ตฌํ๊ธฐ
๊ฐ ํ์ด์ง๋ณ๋ก 4 ๊ฐ์ง์ ์ ์๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
- ๊ธฐ๋ณธ ์ ์ : ์น ํ์ด์ง์์ ๊ฒ์์ด๊ฐ ๋ฑ์ฅํ๋ ํ์ (๋์๋ฌธ์ ๋ฌด์)
- ์ธ๋ถ ๋งํฌ ์ : ํด๋น ํ์ด์ง์ ์กด์ฌํ๋, ๋ค๋ฅธ ํ์ด์ง๋ก ๊ฑธ๋ฆฐ ๋งํฌ์ ์
- ๋งํฌ ์ ์ : [ํด๋น ํ์ด์ง(A)์ ๋งํฌ๊ฐ ์กด์ฌํ๋ ๋ค๋ฅธ ํ์ด์ง(B)์ ๊ธฐ๋ณธ ์ ์ / B์ ์ธ๋ถ ๋งํฌ ์]์ ์ดํฉ
- ๋งค์นญ ์ ์ : ๊ธฐ๋ณธ ์ ์ + ๋งํฌ ์ ์
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ด A, B, C ์ธ ๊ฐ์ ์นํ์ด์ง๊ฐ ์๊ณ , ๊ฒ์์ด๊ฐ hi๋ผ๊ณ ํ์.
์ด๋ A ์นํ์ด์ง์ ๋งค์นญ์ ์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ ์ ์๋ค.
- ๊ธฐ๋ณธ ์ ์๋ ๊ฐ ์นํ์ด์ง์์ hi๊ฐ ๋ฑ์ฅํ ํ์์ด๋ค.
- A,B,C ์นํ์ด์ง์ ๊ธฐ๋ณธ์ ์๋ ๊ฐ๊ฐ 1์ , 4์ , 9์ ์ด๋ค.
- ์ธ๋ถ ๋งํฌ์๋ ๋ค๋ฅธ ์นํ์ด์ง๋ก ๋งํฌ๊ฐ ๊ฑธ๋ฆฐ ๊ฐ์์ด๋ค.
- A,B,C ์นํ์ด์ง์ ์ธ๋ถ ๋งํฌ ์๋ ๊ฐ๊ฐ 1์ , 2์ , 3์ ์ด๋ค.
- A ์นํ์ด์ง๋ก ๋งํฌ๊ฐ ๊ฑธ๋ฆฐ ํ์ด์ง๋ B์ C๊ฐ ์๋ค.
- A ์นํ์ด์ง์ ๋งํฌ์ ์๋ B์ ๋งํฌ์ ์ 2์ (4 ÷ 2)๊ณผ C์ ๋งํฌ์ ์ 3์ (9 ÷ 3)์ ๋ํ 5์ ์ด ๋๋ค.
- ๊ทธ๋ฌ๋ฏ๋ก, A ์นํ์ด์ง์ ๋งค์นญ์ ์๋ ๊ธฐ๋ณธ์ ์ 1์ + ๋งํฌ์ ์ 5์ = 6์ ์ด ๋๋ค.
์ ํ์ฌํญ
- pages๋ HTML ํ์์ ์นํ์ด์ง๊ฐ ๋ฌธ์์ด ํํ๋ก ๋ค์ด์๋ ๋ฐฐ์ด์ด๊ณ , ๊ธธ์ด๋1์ด์20์ดํ์ด๋ค.
- ํ ์นํ์ด์ง ๋ฌธ์์ด์ ๊ธธ์ด๋1์ด์1,500์ดํ์ด๋ค.
- ์นํ์ด์ง์ index๋ pages ๋ฐฐ์ด์ index์ ๊ฐ์ผ๋ฉฐ 0๋ถํฐ ์์ํ๋ค.
- ํ ์นํ์ด์ง์ url์ HTML์ํ๊ทธ ๋ด์ํ๊ทธ์ ๊ฐ์ผ๋ก ์ฃผ์ด์ง๋ค.
- ์๋ฅผ๋ค์ด, ์๋์ ๊ฐ์ meta tag๊ฐ ์์ผ๋ฉด ์ด ์นํ์ด์ง์ url์https://careers.kakao.com/index์ด๋ค.
- ํ ์นํ์ด์ง์์ ๋ชจ๋ ์ธ๋ถ ๋งํฌ๋ ์ ํํ๋ฅผ ๊ฐ์ง๋ค.
- ๋ด์ ๋ค๋ฅธ attribute๊ฐ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์์ผ๋ฉฐ ํญ์ href๋ก ์ฐ๊ฒฐํ ์ฌ์ดํธ์ url๋ง ํฌํจ๋๋ค.
- ์์ ๊ฒฝ์ฐ์์ ํด๋น ์นํ์ด์ง๋https://careers.kakao.com/index๋ก ์ธ๋ถ๋งํฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ๋ณผ ์ ์๋ค.
- ๋ชจ๋ url์ https:// ๋ก๋ง ์์ํ๋ค.
- ๊ฒ์์ด word๋ ํ๋์ ์์ด ๋จ์ด๋ก๋ง ์ฃผ์ด์ง๋ฉฐ ์ํ๋ฒณ ์๋ฌธ์์ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
- word์ ๊ธธ์ด๋1์ด์12์ดํ์ด๋ค.
- ๊ฒ์์ด๋ฅผ ์ฐพ์ ๋, ๋์๋ฌธ์ ๊ตฌ๋ถ์ ๋ฌด์ํ๊ณ ์ฐพ๋๋ค.
- ์๋ฅผ๋ค์ด ๊ฒ์์ด๊ฐ blind์ผ ๋, HTML ๋ด์ Blind๋ผ๋ ๋จ์ด๊ฐ ์๊ฑฐ๋, BLIND๋ผ๋ ๋จ์ด๊ฐ ์์ผ๋ฉด ๋ ๊ฒฝ์ฐ ๋ชจ๋ ํด๋น๋๋ค.
- ๊ฒ์์ด๋ ๋จ์ด ๋จ์๋ก ๋น๊ตํ๋ฉฐ, ๋จ์ด์ ์์ ํ ์ผ์นํ๋ ๊ฒฝ์ฐ์๋ง ๊ธฐ๋ณธ ์ ์์ ๋ฐ์ํ๋ค.
- ๋จ์ด๋ ์ํ๋ฒณ์ ์ ์ธํ ๋ค๋ฅธ ๋ชจ๋ ๋ฌธ์๋ก ๊ตฌ๋ถํ๋ค.
- ์๋ฅผ๋ค์ด ๊ฒ์์ด๊ฐaba์ผ ๋,abab abababa๋ ๋จ์ด ๋จ์๋ก ์ผ์นํ๋๊ฒ ์์ผ๋, ๊ธฐ๋ณธ ์ ์๋ 0์ ์ด ๋๋ค.
- ๋ง์ฝ ๊ฒ์์ด๊ฐaba๋ผ๋ฉด,aba@aba aba๋ ๋จ์ด ๋จ์๋ก ์ธ๊ฐ๊ฐ ์ผ์นํ๋ฏ๋ก, ๊ธฐ๋ณธ ์ ์๋ 3์ ์ด๋ค.
- ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค๋, ๋์ผํ ๋งค์นญ์ ์๋ฅผ ๊ฐ์ง ์นํ์ด์ง๊ฐ ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด ๊ทธ์ค index ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ๊ฒ๋ฅผ ๋ฆฌํดํ๋ค
- ์ฆ, ์นํ์ด์ง๊ฐ ์ธ๊ฐ์ด๊ณ , ๊ฐ๊ฐ ๋งค์นญ์ ์๊ฐ 3,1,3 ์ด๋ผ๋ฉด ์ ์ผ ์ ์ index ๋ฒํธ์ธ 0์ ๋ฆฌํดํ๋ฉด ๋๋ค.
์ ์ถ๋ ฅ ์ #1
- word : blind
- pages :
"<html lang=\"ko\" xml:lang=\"ko\" xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta charset=\"utf-8\">\n <meta property=\"og:url\" content=\"https://a.com\"/>\n</head> \n<body>\nBlind Lorem Blind ipsum dolor Blind test sit amet, consectetur adipiscing elit. \n<a href=\"https://b.com\"> Link to b </a>\n</body>\n</html>" |
"<html lang=\"ko\" xml:lang=\"ko\" xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta charset=\"utf-8\">\n <meta property=\"og:url\" content=\"https://b.com\"/>\n</head> \n<body>\nSuspendisse potenti. Vivamus venenatis tellus non turpis bibendum, \n<a href=\"https://a.com\"> Link to a </a>\nblind sed congue urna varius. Suspendisse feugiat nisl ligula, quis malesuada felis hendrerit ut.\n<a href=\"https://c.com\"> Link to c </a>\n</body>\n</html>" |
"<html lang=\"ko\" xml:lang=\"ko\" xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta charset=\"utf-8\">\n <meta property=\"og:url\" content=\"https://c.com\"/>\n</head> \n<body>\nUt condimentum urna at felis sodales rutrum. Sed dapibus cursus diam, non interdum nulla tempor nec. Phasellus rutrum enim at orci consectetu blind\n<a href=\"https://a.com\"> Link to a </a>\n</body>\n</html>" |
- pages๋ ๋ค์๊ณผ ๊ฐ์ด 3๊ฐ์ ์นํ์ด์ง์ ํด๋นํ๋ HTML ๋ฌธ์์ด์ด ์์๋๋ก ๋ค์ด์๋ค.
Blind Lorem Blind ipsum dolor Blind test sit amet, consectetur adipiscing elit. Link to b
Suspendisse potenti. Vivamus venenatis tellus non turpis bibendum, Link to a blind sed congue urna varius. Suspendisse feugiat nisl ligula, quis malesuada felis hendrerit ut. Link to c
Ut condimentum urna at felis sodales rutrum. Sed dapibus cursus diam, non interdum nulla tempor nec. Phasellus rutrum enim at orci consectetu blind Link to a
์์ ์๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๊ฐ์ ์ ์๋ฅผ ๊ณ์ฐํด๋ณด์.
- ๊ธฐ๋ณธ์ ์ ๋ฐ ์ธ๋ถ ๋งํฌ์๋ ์๋์ ๊ฐ๋ค.
- a.com์ ๊ธฐ๋ณธ์ ์๋ 3, ์ธ๋ถ ๋งํฌ ์๋ 1๊ฐ
- b.com์ ๊ธฐ๋ณธ์ ์๋ 1, ์ธ๋ถ ๋งํฌ ์๋ 2๊ฐ
- c.com์ ๊ธฐ๋ณธ์ ์๋ 1, ์ธ๋ถ ๋งํฌ ์๋ 1๊ฐ
- ๋งํฌ์ ์๋ ์๋์ ๊ฐ๋ค.
- a.com์ ๋งํฌ์ ์๋ b.com์ผ๋ก๋ถํฐ 0.5์ , c.com์ผ๋ก๋ถํฐ 1์
- b.com์ ๋งํฌ์ ์๋ a.com์ผ๋ก๋ถํฐ 3์
- c.com์ ๋งํฌ์ ์๋ b.com์ผ๋ก๋ถํฐ 0.5์
- ๊ฐ ์น ํ์ด์ง์ ๋งค์นญ ์ ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- a.com : 4.5 ์
- b.com : 4 ์
- c.com : 1.5 ์
๋ฐ๋ผ์ ๋งค์นญ์ ์๊ฐ ์ ์ผ ๋์ ์ฒซ๋ฒ์งธ ์น ํ์ด์ง์ index์ธ 0์ ๋ฆฌํด ํ๋ฉด ๋๋ค.
ํ์ด
- pages ๊ธธ์ด๋งํผ loop๋ฅผ ๋๋ฉด์,
- ๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ
- ๊ฐ page์ url ์ฐพ์ ์ ์ฅํ๊ธฐ
- ๊ฐ page์ ๊ธฐ๋ณธ ์ ์ ๊ณ์ฐ
- ๊ฐ page์ ์กด์ฌํ๋ ์ธ๋ถ link ์ฐพ์ ์ ์ฅํด๋๊ธฐ
- pages.size() ํฌ๊ธฐ์ match_score vector ๋ง๋ค๊ธฐ. -> ์ด๊ธฐ๊ฐ : ๊ฐ ํ์ด์ง์ ๊ธฐ๋ณธ ์ ์(1์์ ๊ณ์ฐ)
- pages ๊ธธ์ด๋งํผ loop๋ฅผ ๋๋ฉด์,
- 1-4์์ ์ฐพ์ ์ธ๋ถ link ํ์ด์ง์๊ฒ, ์ด ํ์ด์ง์ ๊ธฐ๋ณธ์ ์ ๋๋์ด์ฃผ๊ธฐ (๊ธฐ๋ณธ ์ ์/์ธ๋ถ ๋งํฌ ์)
- match_score์์ ๊ฐ์ด ๊ฐ์ฅ ํฐ ์ธ๋ฑ์ค ์ฐพ์ return
์ฒซ ๋ฒ์งธ ์ฝ๋
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
bool isAlphabet(char c) { //๊ธฐ๋ณธ์ ์ ๊ณ์ฐ์ ๋จ์ด ํ์
์ ์ํ ํจ์
if (c == -1) //๋งจ ๋ ๋จ์ด์ผ๊ฒฝ์ฐ..
return true;
if ((c>='A' && c<='Z')||(c>='a' && c<='z'))
return true;
else
return false;
}
int solution(string word, vector<string> pages) {
int answer = 0;
vector<int> basic_score(pages.size(), 0);
vector<string> url(pages.size());
vector<vector<string>> link(pages.size());
vector<vector<int>> link_index(pages.size());
transform(word.begin(), word.end(), word.begin(), ::tolower);
for (int i = 0;i < pages.size();i++) {
//๋ชจ๋ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ
transform(pages[i].begin(), pages[i].end(), pages[i].begin(), ::tolower);
//ํด๋น ํ์ด์ง์ url ์ฐพ๊ธฐ
string url_flag = "content=\"";
int url_start = pages[i].find(url_flag, 0);
url_start += url_flag.size();
int url_end = pages[i].find("\"", url_start);
url[i] = pages[i].substr(url_start, url_end - url_start);
//๊ธฐ๋ณธ ์ ์ ๊ณ์ฐ
int found = pages[i].find(word, 0); //๋ชป ์ฐพ์ผ๋ฉด found=-1
while (found > 0) {
char front = pages[i][found - 1];
char back;
if (found + word.size() >= pages[i].size())
back = -100;
else
back = pages[i][found + word.size()];
if (!isAlphabet(front) && !isAlphabet(back))
basic_score[i]++;
found = pages[i].find(word, found + word.size());
}
//ํด๋น ํ์ด์ง์ ์กด์ฌํ๋ ์ธ๋ถ ๋งํฌ ์ฐพ๊ธฐ
string link_flag = "<a href=\"";
found = pages[i].find(link_flag, 0); //๋ชป ์ฐพ์ผ๋ฉด -1
while (found > 0) {
int link_start = found + link_flag.size();
int link_end = pages[i].find("\">", link_start);
if (link_end != -1) {
link[i].push_back(pages[i].substr(link_start, link_end - link_start));
}
found = pages[i].find(link_flag, link_end);
}
}
vector<double> match_score(basic_score.begin(),basic_score.end());
for (int i = 0;i < pages.size();i++) {
int link_num = link[i].size();
for (int j = 0;j < link_num;j++) {
if (find(url.begin(), url.end(), link[i][j]) != url.end()) {
//ํ์ด์งi์ ์กด์ฌํ๋ ์ธ๋ถ ๋งํฌ ํ์ด์ง๋ค์๊ฒ i์ ๊ธฐ๋ณธ ์ ์ ๋๋์ด์ฃผ๊ธฐ
int index = distance(url.begin(), find(url.begin(), url.end(), link[i][j]));
match_score[index] += basic_score[i] / (double)link_num;
link_index[i].push_back(index);
}
}
}
answer = max_element(match_score.begin(), match_score.end())- match_score.begin();
return answer;
}
์ ์ถ ๊ฒฐ๊ณผ
์ค๋ต ์ด์
programmers.co.kr/questions/9548
page์ url์ ์ฐพ์ ๋, ์ด์ ์๋ ์์ content=\"๊ฐ ์กด์ฌํ๋ ๋ถ๋ถ์ ์ฐพ์์๋๋ฐ,
์ง๋ฌธํ๊ธฐ๋ฅผ ๋ณด๋, ์์ ์ ํํ <meta property=\"og:url\" content=\"https://
๋ก ์์ํ๋ ๋ถ๋ถ๋ง url๋ก ์ฌ์ฉํด์ผ ํ๋ค๊ณ ํด์, ์ด๋ฅผ ์์ ํ์๋ค.
์ ๋ต ์ฝ๋
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
bool isAlphabet(char c) {
if (c == -1) //๋งจ ๋ ๋จ์ด์ผ๊ฒฝ์ฐ..
return true;
if ((c>='A' && c<='Z')||(c>='a' && c<='z'))
return true;
else
return false;
}
int solution(string word, vector<string> pages) {
int answer = 0;
vector<int> basic_score(pages.size(), 0);
vector<string> url(pages.size());
vector<vector<string>> link(pages.size());
vector<vector<int>> link_index(pages.size());
transform(word.begin(), word.end(), word.begin(), ::tolower);
for (int i = 0;i < pages.size();i++) {
//๋ชจ๋ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ
transform(pages[i].begin(), pages[i].end(), pages[i].begin(), ::tolower);
//ํด๋น ํ์ด์ง์ url ์ฐพ๊ธฐ
string content = "<meta property=\"og:url\" content=\"";
string url_flag = "<meta property=\"og:url\" content=\"https://";
int meta = pages[i].find("<meta", 0);
int url_start = pages[i].find(url_flag, meta);
url_start += content.size();
int url_end = pages[i].find("\"", url_start);
url[i] = pages[i].substr(url_start, url_end - url_start);
//๊ธฐ๋ณธ ์ ์ ๊ณ์ฐ
int found = pages[i].find(word, 0); //๋ชป ์ฐพ์ผ๋ฉด found=-1
while (found > 0) {
char front = pages[i][found - 1];
char back;
if (found + word.size() >= pages[i].size())
back = -100;
else
back = pages[i][found + word.size()];
if (!isAlphabet(front) && !isAlphabet(back))
basic_score[i]++;
found = pages[i].find(word, found + word.size());
}
//ํด๋น ํ์ด์ง์ ์กด์ฌํ๋ ์ธ๋ถ ๋งํฌ ์ฐพ๊ธฐ
string link_flag = "<a href=\"";
found = pages[i].find(link_flag, 0); //๋ชป ์ฐพ์ผ๋ฉด -1
while (found > 0) {
int link_start = found + link_flag.size();
int link_end = pages[i].find("\">", link_start);
if (link_end != -1) {
link[i].push_back(pages[i].substr(link_start, link_end - link_start));
}
found = pages[i].find(link_flag, link_end);
}
}
vector<double> match_score(basic_score.begin(),basic_score.end());
for (int i = 0;i < pages.size();i++) {
int link_num = link[i].size();
for (int j = 0;j < link_num;j++) {
if (find(url.begin(), url.end(), link[i][j]) != url.end()) {
//ํ์ด์งi์ ์กด์ฌํ๋ ์ธ๋ถ ๋งํฌ ํ์ด์ง๋ค์๊ฒ i์ ๊ธฐ๋ณธ ์ ์ ๋๋์ด์ฃผ๊ธฐ
int index = distance(url.begin(), find(url.begin(), url.end(), link[i][j]));
match_score[index] += basic_score[i] / (double)link_num;
link_index[i].push_back(index);
}
}
}
answer = max_element(match_score.begin(), match_score.end())- match_score.begin();
return answer;
}
์ ์ถ ๊ฒฐ๊ณผ
์ ๋ต์ ๋์์ง๋ง, ์ง๋ฌธํ๊ธฐ๋ฅผ ๋ณด๋ "์ ๊ทํํ์" ์ฌ์ฉ์ ์๋ํ ๋ฌธ์ ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
์ฐธ๊ณ
์ฝ๋์์ ๋ฌธ์๋ฅผ ๋ชจ๋ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ ์ํด transform()๋ฅผ ์ด์ฉํ์๋๋ฐ,
visual studio์์๋ transform(word.begin(), word.end(), word.begin(), tolower); ๊ฐ ์ ๋์๊ฐ๋๋ฐ
ํ๋ก๊ทธ๋๋จธ์ค์ ์ ์ถํ์ ์ด ๋ถ๋ถ์์ ์ค๋ฅ๊ฐ ๋ฌ๋ค.
transform()๋ด์ tolower ์์ :: ๋ถ์ด์ ์ค๋ฅ๊ฐ ํด๊ฒฐ๋์๋ค
(transform(word.begin(), word.end(), word.begin(), ::tolower);)
์ด ์ค๋ฅ์ ::ํ์์ ๋ํด ์ฐพ์๋ณด์๋ค.
์์ ๋งํฌ์ ๋ฐ๋ฅด๋ฉด,
transform(word.begin(), word.end(), word.begin(), [](const unsigned char i){ return tolower(i); });๊ฐ ์ ํํ ํํ์ด๋ผ๊ณ ํ๋ค.
tolower()๊ฐ ์ฌ๋ฌ๊ฐ overload๋์ด์ ์ฌ๋ฌ๊ฐ์ค์ ์ ํํ ์ด๋ค ๊ฒ์ธ์ง๋ฅผ ๋ช ์ํด์ฃผ์ง ์์์ ๋ฐ์ํ ์ค๋ฅ๋ผ๊ณ ํ๊ณ ,
์์ ::์ ๋ถ์ด๊ฑฐ๋, [](const unsigned char i){ return tolower(i); } ํด์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ํ๋๋ฐ..
์ฌ์ค ์ ๋งํฌ์์ ์ ํํ ๋ฌด์จ ์๊ธฐ๋ฅผ ํ๋๊ฑด์ง ์์ง ๋ค ๋ชป์์๋ค์๋ค
TO-DO
์ ๊ท ํํ์ ๊ณต๋ถํ๊ธฐ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1175. ๋ฐฐ๋ฌ (0) | 2021.02.26 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2021.02.08 |
[C++] struct์ class์ ์ฐจ์ด (0) | 2021.01.25 |
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ๊ธธ ์ฐพ๊ธฐ ๊ฒ์ (0) | 2021.01.25 |
[C++/ํ๋ก๊ทธ๋๋จธ์ค] ๋ธ๋ก ์ด๋ํ๊ธฐ (0) | 2021.01.18 |