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를 구현하면서 많이 헷갈렸지만 할만했습니다.
질문과 피드백은 언제나 환영입니다.
감사합니다.