https://programmers.co.kr/learn/courses/30/lessons/84512
1. 유형
완전 탐색
2. 문제 접근
총경우의 수가 5^5 + 5^4 + 5^3 + 5^2 + 5입니다. 그래서 완전 탐색을 돌릴 수 있다고 판단
모든 경우의 수를 List에 넣고 word와 같은 값을 찾아줬습니다.
다른 풀이를 보니 규칙을 찾아서 간단하게 풀 수도 있는거 같습니다.
3. 코드
import java.util.*;
class Solution {
static char[] cArr= {'A','E','I','O','U'};
static List<String> ans;
public int solution(String word) {
int answer = 0;
ans=new ArrayList<>();
for(int i=1; i<=5; i++)
dfs(0,new String(), i);
Collections.sort(ans);
int index=1;
for(String tmp: ans){
if(word.equals(tmp)){
answer=index;
break;
}
index++;
}
return answer;
}
static void dfs(int dep, String s, int len){
if(len == dep){
ans.add(s);
return;
}
for(int i=0; i<5; i++){
dfs(dep+1, s+cArr[i], len);
}
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 9주차 위클리 챌린지- 전력망을 둘로 나누기 (0) | 2021.10.06 |
---|---|
프로그래머스 - 메뉴 리뉴얼 (0) | 2021.08.20 |
[devmoon] 프로그래머스 - (Java) 소수 만들기 (0) | 2021.07.03 |
[devmoon]프로그래머스 - (java)합승 택시 요금 (0) | 2021.07.02 |
[devmoon]프로그래머스 - (Java) 섬 연결하기 (0) | 2021.07.01 |