CodingTest/Programmers

[Programmers] 모음사전

창브로 2025. 4. 21. 19:36

[문제 링크]

https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=java

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

[풀이 과정]

모든 경우의 수를 다 구하여 사전을 만들고 해당 String 값의 index를 찾아서 답을 구할 생각을 했습니다.
사전을 만들때 dfs를 사용하는데 dfs를 사용하면 사전 순으로 자동으로 정렬되기 때문에 굳이 따로 정렬을 하지 않았습니다.

 

[코드]

import java.util.*;

class Solution {
    List<String> arr;
    String[] words;
    
    public int solution(String word) {
        arr = new ArrayList<>();
        words = new String[] {"A", "E", "I", "O", "U"};
        
        dfs("", 0);
        
        return arr.indexOf(word) + 1;
    }
    
    public void dfs(String current, int depth) {
        if(depth > 5) {
            return;
        }
        
        if(!current.isEmpty()) {
            arr.add(current);
        }
        
        for(String s : words) {
            dfs(current + s, depth+1);
        }
        
        return;
    }
}

[회고]

dfs를 구현하면서 많이 헷갈렸지만 할만했습니다.

 

 

 

 

질문과 피드백은 언제나 환영입니다.

감사합니다.