Algorithm/프로그래머스

[고득점kit/완전탐색] 모음 사전

녱녱 2023. 6. 22.


import java.util.*;
class Solution {
    static String[] arr;
    static List<String> list;
    public int solution(String word) {
        int answer = 0;        
        list = new ArrayList<>();
        arr = new String[]{"A", "E", "I", "O", "U"};
        
        recursion(word, "", 0);

        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).equals(word)) {
                answer = i;
                break;
            }
        }
        return answer;
    }
    
    static void recursion(String word, String str, int depth) {
        list.add(str);
        
        if(depth == 5) {
            return;
        }
        
        for (int i = 0; i < arr.length; i++) {
            recursion(word, str + arr[i], depth + 1);
        }
        
    }
}

난 정말 재귀가 너무...싫다 왜이렇게 못하는지 모르겠다ㅠ_ㅠ 암만봐도 불필요한 탐색까지 한다고 생각했는데 다른 풀이들 찾아보니까 점화식처럼 규칙찾아서 나누시는 분들도 많더라! 이것도..저것도..😥🥺

댓글