[프로그래머스] 모음사전

dev-log·2021년 12월 6일
0
#include <string>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

vector<char> ch = { 'A','E','I','O','U' };
vector<char> used = { 'A','E','I','O','U' };
vector<bool> visited = { false,false,false,false,false };
vector<string> str;

void cal(int size) {
    string temp = "";
    for (int i = 0; i < size; i++) {
        temp += used[i];
    }
    str.push_back(temp);
}
void dfs(int cnt, int max) {
    if (cnt == max) {
        cal(max);
        return;
    }
    for (int i = 0; i < ch.size(); i++) {
        used[cnt] = ch[i];
        dfs(cnt + 1, max);
    }
}
int find(string word) {
    int result = 1;
    for (int i = 0;; i++) {
        if (str[i] == word)
            return result;
        result++;
    }
}
int solution(string word) {
    int answer = 0;

    for (int i = 1; i <= 5; i++) {
        dfs(0, i);
    }
    sort(str.begin(), str.end());
    answer = find(word);
    return answer;
}

완전탐색으로 풀어봤다. 다른 풀이법도 풀어봐야겠다.

profile
배운 걸 기록하는 곳입니다.

0개의 댓글