-
[프로그래머스/위클리 챌린지] 5주차 (C++)알고리즘 문제풀이/프로그래머스 2021. 9. 7. 17:37
https://programmers.co.kr/learn/courses/30/lessons/84512
word의 길이가 최대 n이므로 DFS를 이용하여 모든 경우의 수를 구할 수 있다고 판단했다.
3주차는 너무 어렵다...
#include <string> #include <vector> #include <algorithm> using namespace std; string s = "AEIOU"; vector<string> v; void DFS(int len, string now) { if(len == 5) return; for(int i = 0; i < s.size(); i++) { string tmp = ""; tmp += s[i]; v.push_back(now + tmp); DFS(len + 1, now + tmp); } } int solution(string word) { DFS(0, ""); // 현재 만들어진 단어의 길이, 현재 만들어진 단어 return find(v.begin(), v.end(), word) - v.begin() + 1; // 인덱스 번호 반환 }
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/SQL] 헤비 유저가 소유한 장소 (MySQL) (0) 2021.10.07 [프로그래머스/위클리 챌린지] 6주차 (C++) (0) 2021.10.06 [프로그래머스/Level 2] 거리두기 확인하기 (C++) (0) 2021.08.31 [프로그래머스/위클리 챌린지] 4주차 (C++) (0) 2021.08.30 [프로그래머스/Level 4] 무지의 먹방 라이브 (0) 2021.08.21