[プログラマー]Weeklyチャレンジ:アクセント辞書(C++)
6370 ワード
質問リンク:アクセント辞典
[質問へのアクセス]
アルファベットの個数は5個しかないので、すべて探索しても時間内に問題を解決できます.
したがって,文字の最大サイズがnの場合(1<=n<=5)にarrに可能なすべての状況を入れてarrを並べ替えると,いくつか目の単語を容易に見つけることができる.
[ソースコード]
[質問へのアクセス]
アルファベットの個数は5個しかないので、すべて探索しても時間内に問題を解決できます.
したがって,文字の最大サイズがnの場合(1<=n<=5)にarrに可能なすべての状況を入れてarrを並べ替えると,いくつか目の単語を容易に見つけることができる.
[ソースコード]
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> arr;
string temp[5] = {"A", "E", "I", "O", "U"};
void go(int maxlen, string s) {
if(maxlen == s.size()) {
arr.push_back(s);
return;
}
for(int i=0 ; i<5 ; i++) {
go(maxlen, s+temp[i]);
}
}
int solution(string word) {
int answer = 0;
for(int i=1 ; i<=5 ; i++) {
go(i, "");
}
sort(arr.begin(), arr.end());
answer = find(arr.begin(), arr.end(), word)-arr.begin()+1;
return answer;
}
Reference
この問題について([プログラマー]Weeklyチャレンジ:アクセント辞書(C++)), 我々は、より多くの情報をここで見つけました https://velog.io/@soosungp33/프로그래머스-위클리-챌린지-모음사전-Cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol