https://school.programmers.co.kr/learn/courses/30/lessons/84512
class Solution {
static int answer = -1;
static String target;
static boolean find = false;
static String[] vowel = {"A", "E", "I", "O", "U"};
public int solution(String word) {
target = word;
dfs("", 0);
return answer;
}
private void dfs(String word, int length) {
if(find || length > 5) return;
answer++;
if(word.equals(target)) {
find = true;
return;
}
for (int i = 0; i < 5 ; i++) {
dfs(word + vowel[i], length + 1);
}
}
}
💡 DFS
각 알파벳 별로 가중치를 부여해서 6진수 개념 비스무리하게 풀어보려 했는데...
원하는대로 나오지 않아 완전 탐색으로 돌렸다
- 중복 허용 가능한 것에 주의
- 순서: AAAE > AAAEA 임!
'Algorithm > Programmars' 카테고리의 다른 글
[JAVA / 자바] Lv.3_정수 삼각형 - 프로그래머스 (0) | 2023.12.31 |
---|---|
[JAVA / 자바] Lv.3_N으로 표현 (0) | 2023.12.29 |
[JAVA / 자바] Lv.2_전력망을 둘로 나누기 (1) | 2023.12.23 |
[JAVA] Lv.2 피로도 - 프로그래머스 (0) | 2023.12.19 |
[JAVA] Lv3. 디스크 컨트롤러 - 프로그래머스 (1) | 2023.12.15 |