-
모음사전 C++프로그래머스(Programmers) 2021. 10. 7. 00:26반응형
#include <string> #include <vector> #include <algorithm> using namespace std; vector<char> collection = {'A', 'E', 'I', 'O', 'U'}; //모음 vector<string> dic; //단어모음 void DFS(string word, int len) { if (len == word.length()) { dic.push_back(word); return; } for (int i=0; i<collection.size(); i++) { DFS(word + collection[i], len); } } int solution(string word) { for(int len =1; len <= 5; len ++) { string word = ""; DFS(word, len); } sort(dic.begin(), dic.end()); for(int i=0; i< dic.size(); i++) { if(word == dic[i])//찾았을 경우 { return i+1; } } }
=> DFS를 이용해 만들 수 있는 모든 단어를 dic이라는 벡터에 집어넣었다.
=> DFS를 통해 다 만들어놓은 dic 벡터를 sort 함수를 사용해 정렬한다.
=> 처음부터 탐색하며 word를 찾았을 경우 return한다.
https://codingham.tistory.com/168
DFS 코드와 BFS 코드는 미리 정리해두었다.
반응형'프로그래머스(Programmers)' 카테고리의 다른 글
최소직사각형 (0) 2021.10.14 복서 정렬하기 C++ (0) 2021.10.07 상호 평가 (0) 2021.09.09 부족한 금액 계산하기 C++ (0) 2021.09.07 로또의 최고순위와 최저순위 (0) 2021.09.06