728x90
문제가 까다로워 보여도 점화식만 찾으면 쉽게 풀수있다.
풀이
- 5번째 자리 수는 AEIOU 순서대로 바뀔때 1씩 증가한다. =1
- 4번째 자리 수는 AEIOU 순서대로 바뀔때 5씩 증가하지만 5번째자리에 숫자가 없는 경우를 더해 +1해서 6씩 증가한다. = 6
- 3번째 자리 수는 AEIOU 순서대로 바뀔때 4번째 자리 수 증가율 *3번째 자리 수 증가율+3번째 자리까지만 있는 경우(6 *5 +1 )씩 증가한다. =31
- 2번째 자리 수는 AEIOU 순서대로 바뀔때 3번째 자리 수 증가율 (31)* 2번째 자리 수 증가율(5) +2번째 자리까지만 있는 경우(+1) 씩 증가한다 식은 (31*5+1) .= 156
- 1번째 자리 수는 AEIOU 순서대로 바뀔때 2번째 자리 수 증가율 (156)* 1번째 자리 수 증가율(5) +2번째 자리까지만 있는 경우(+1) 씩 증가한다 식은 (156*5+1) = 781.
- 이처럼 식을 구한 다음 각 자리에 맞는 수를 더해주면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class VowelDictionary {
public int solution(String word) {
String words = "AEIOU";
int[] var = {781,156,31,6,1};
int index = word.length();
int value = word.length();
for(int i = 0; i< word.length(); i++){
index = words.indexOf(word.charAt(i));
value += var[i]*index;
}
return value;
}
}
|
cs |
처음에 보고 생각보다 감이 안잡혔던 문제다.생각만 잘하면 쉽게 구할수 있는 문제였다. 생각 잘하자!!
728x90
'Dev > 알고리즘 ,자료구조' 카테고리의 다른 글
[프로그래머스]쿼드 압축 후 개수세기(JAVA) (0) | 2021.10.19 |
---|---|
[프로그래머스] 배달 (0) | 2021.10.18 |
[프로그래머스]프렌즈 4블록(JAVA) (0) | 2021.10.12 |
[Algorithm]BeakJoon_2981 (0) | 2021.07.20 |
[Algorithm]BeakJoon_1541 (0) | 2021.07.18 |