#include <string>
#include <vector>
using namespace std;
void solve(int &x, const string& word, string result, int& sum);
int solution(string word) {
int answer = 0;
int num = 0;
solve(num, word, "", answer);
return answer;
}
void solve(int &x, const string& word, string result, int &sum)
{
if (word == result) sum = x;
else if (word != result)
{
if(result.length() >= 0 && result.length() <= 4)
{
if(sum == 0)
solve(x += 1, word, result + 'A', sum);
if(sum == 0)
solve(x += 1, word, result + 'E', sum);
if(sum == 0)
solve(x += 1, word, result + 'I', sum);
if(sum == 0)
solve(x += 1, word, result + 'O', sum);
if(sum == 0)
solve(x += 1, word, result + 'U', sum);
}
}
}
풀이
1. 재귀함수로 찾는다.
2. 규칙은 A AA AAA AAAA AAAAA AAAE AAAEA AAAEE....순서이다.
- 뭔가 공식이 있을듯했는데 문제를 풀면서 알지는 못했다.
- 다른 사람의 코드를 봤는데 대단했다 공식으로 빠르게 값을 찾아냈다.
https://programmers.co.kr/learn/courses/30/lessons/84512
'Algorithm > Programmers' 카테고리의 다른 글
[C++] 프로그래머스 위클리챌린지 7주차 입실퇴실 (0) | 2021.09.26 |
---|---|
[C++] 프로그래머스 위클리챌린지 6주차 복서정렬하기 (0) | 2021.09.24 |
[C++] 프로그래머스 위클리챌린지 4주차 직업군추천하기 (0) | 2021.09.24 |
[C++] 프로그래머스 위클리챌린지 3주차 퍼즐조각채우기 (0) | 2021.09.23 |
[C++] 프로그래머스 실패율 (0) | 2021.09.23 |