[プログラマー]第5週コレクション辞書
回答日:2021-09-10
質問する
1~5ビットのすべての単語を取得します.(後追跡) で見つかった単語を昇順に並べます. find関数で検索したい単語の位置を検索し、その位置を返します. コード#コード#
質問する
質問リンク:https://programmers.co.kr/learn/courses/30/lessons/84512
アクセスと解析
次のようにコードを実現した.
次のようにコードを実現した.
コード#コード# #include <string>
#include <vector>
#include <algorithm>
using namespace std;
string alpha = "AEIOU";
void makeWords(string candid, int len, vector<string> &v) {
if (candid.length() == len) {
v.push_back(candid);
return;
}
for (char ch : alpha) {
makeWords(candid + ch, len, v);
}
}
int solution(string word) {
int answer = 0;
vector<string> v;
for (int i = 1; i <= 5; i++) {
makeWords("", i, v);
}
sort(v.begin(), v.end());
auto it = find(v.begin(), v.end(), word);
answer = it - v.begin() + 1;
return answer;
}
結果
フィードバック
追跡の問題をさらに解決
Reference
この問題について([プログラマー]第5週コレクション辞書), 我々は、より多くの情報をここで見つけました
https://velog.io/@bestcoders/프로그래머스-5주차모음사전
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string alpha = "AEIOU";
void makeWords(string candid, int len, vector<string> &v) {
if (candid.length() == len) {
v.push_back(candid);
return;
}
for (char ch : alpha) {
makeWords(candid + ch, len, v);
}
}
int solution(string word) {
int answer = 0;
vector<string> v;
for (int i = 1; i <= 5; i++) {
makeWords("", i, v);
}
sort(v.begin(), v.end());
auto it = find(v.begin(), v.end(), word);
answer = it - v.begin() + 1;
return answer;
}
フィードバック
追跡の問題をさらに解決
Reference
この問題について([プログラマー]第5週コレクション辞書), 我々は、より多くの情報をここで見つけました
https://velog.io/@bestcoders/프로그래머스-5주차모음사전
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について([プログラマー]第5週コレクション辞書), 我々は、より多くの情報をここで見つけました https://velog.io/@bestcoders/프로그래머스-5주차모음사전テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol