프로그래머스/lv2/84512. 모음 사전

SITY·2023년 10월 12일
0

Cpp_Algorithm

목록 보기
28/43

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(string word) {
    vector<string> v;
    string arr = "AEIOU";
    for (int a = 0; a < 5; a++) {
        v.push_back(string(1, arr[a]));
        for (int b = 0; b < 5; b++) {
            v.push_back(string(1, arr[a]) + string(1, arr[b]));
            for (int c = 0; c < 5; c++) {
                v.push_back(string(1, arr[a]) + string(1, arr[b]) + string(1, arr[c]));
                for (int d = 0; d < 5; d++) {
                    v.push_back(string(1, arr[a]) + string(1, arr[b]) + string(1, arr[c]) + string(1, arr[d]));
                    for (int e = 0; e < 5; e++) 
                        v.push_back(string(1, arr[a]) + string(1, arr[b]) + string(1, arr[c]) + string(1, arr[d]) + string(1, arr[e]));
                }
            }
        }
    }
    
    return find(v.begin(), v.end(), word) - v.begin() + 1;
}

문자가 5개니 5중 for문으로 가능한 모든 경우의 수를 push하고 정렬한 뒤 찾아서 그 index를 return한다

profile
·ᴗ·

0개의 댓글