DFS를 사용했을때 가장 빠른 결과가 나올 수 있을 것 같은 순서였다.
다른방식을 생각해 보고자 했지만 떠오르지 않았다. ㅠ
하나의 리스트를 넣고 모든 경우의 수를 넣은 후 순서 탐색을 통해 그 리스트안의 인덱스 값을 반환하여 정답을 찾아내었다.
import java.util.*;
class Solution {
List<String> list = new ArrayList<>();
String[] arr = {"A","E","I","O","U"};
public int solution(String word) {
int answer = 0;
DFS("",0);
for(int i = 0 ; i < list.size(); i++){
if(list.get(i).equals(word)){
answer = i;
break;
}
}
return answer;
}
public void DFS(String w,int depth){
list.add(w);
if(depth == 5)
return;
for(int i = 0 ; i < 5 ; i++){
DFS(w+arr[i],depth+1);
}
}
}
'Algorithm & Data Structures > Programers' 카테고리의 다른 글
Lv 2. 롤케이크 자르기 (0) | 2024.07.04 |
---|---|
Lv 2. 뒤에있는 큰수 찾기 (0) | 2024.07.02 |
Lv 2. [3차] 압축 (0) | 2024.06.30 |
Lv 2. N진수게임 (0) | 2024.06.28 |
Lv 2. 괄호 회전하기 (0) | 2024.06.26 |