728x90
728x90
- 나올 수 있는 경우의 수가 10000 이하이기 때문에 DFS로 충분히 시간복잡도 생각하지 않고 풀 수 있다.
- alpha 라는 모음 값이 저장되어 있는 배열을 만들어서 나올 수 있는 모든 경우의 수를 map 함수를 이용해서 저장한다.
- 단순 구현 문제.
#include <string>
#include <vector>
#include <map>
using namespace std;
int count =1;
vector<string> alpha = {"A","E","I","O","U"};
map<string,int> voca;
void dfs(string w)
{
if(w.length()>5) return;
voca[w] = count++;
for(auto s : alpha) dfs(w + s);
}
int solution(string word) {
for(auto s : alpha) dfs(s);
return voca[word];
}
728x90
728x90