문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/84512
2단계치고는 생각보다 좀 어려운 문제였다..
어느정도 수학적인 머리가 필요하다고 느낀 문제..
길이가 최대 5까지 들어오는 문자열에 대해 규칙을 찾아보자면
맨 끝자리의 경우 1씩,
4번쨰 자리는 1(맨 끝자리 증가수)5+1=6씩,
3번쨰는 6(4번째자리 증가수)5+1 = 31
두번쨰 315+1=156
첫번쨰 1565+1=781..
위와 같은 규칙을 이용하여 알고리즘을 구현할 수 있다.
def solution(word):
ans = 0
letter = ['A','E',"I","O","U"]
num = [781,156,31,6,1]
for i in range(len(word)):
ans += letter.index(word[i]) * num[i] +1
return ans