https://programmers.co.kr/learn/courses/30/lessons/84512
코딩테스트 연습 - 5주차
사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니
programmers.co.kr
[난이도] level4
[유형] 브루트포스
[풀이]
재귀 함수를 이용해 사전순으로 문자열을 만들어보면 됩니다.
#include <string>
#include <vector>
using namespace std;
char mp[5] = {'A','E','I','O','U'};
int ans;
int sol(string str,string& word){
ans++;
if(str==word) return ans-1;
if(str.size()>=5) return 0;
for(int i=0;i<5;i++) {
int ret=sol(str+mp[i],word);
if(ret) return ret;
}
return 0;
}
int solution(string word) {
return sol("",word);
}
https://github.com/has2/Problem-Solving/blob/master/programmers/level4/위클리_챌린지.cpp
'Problem-Solving > Programmers' 카테고리의 다른 글
[프로그래머스][level4] 매출 하락 최소화 (C++) (0) | 2021.09.04 |
---|---|
[프로그래머스][level4] 최적의 행렬 곱셈 (C++) (0) | 2021.09.04 |
[프로그래머스][level4] 사칙연산 (C++) (0) | 2021.09.04 |
[프로그래머스][level4] 단어 퍼즐 (C++) (0) | 2021.09.04 |
[프로그래머스][level4] 지형 편집 (C++) (0) | 2021.08.30 |