본문 바로가기

Programmers

[프로그래머스][JAVA]Lv. 2 - 모음사전

https://school.programmers.co.kr/learn/courses/30/lessons/84512

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    static int answer = 0;
    static char[] st = {'A','E','I','O','U'};
    public int solution(String word) {
        answer = 0;
        dfs(word, "");
        return answer;
    }

    public boolean dfs(String word, String makeWord) {
        if (makeWord.equals(word)) {
            return true;
        }
        answer++;
        if (makeWord.length() == 5) {
            return false;
        }
        for (int i = 0; i < st.length; i++) {
            if (dfs(word, makeWord + st[i])) {
                return true;
            }
        }
        return false;
    }
}

 

A E I O U만으로 구성된 5 단어의 사전을 만들 때, 입력 word가 몇번째로 등록되어 있는지를 찾는 문제

DFS를 이용하여 탐색을 하여 해당 단어가 만들어질 때 answer의 값을 출력하여 문제를 풀었다