import Foundation
func solution(_ word:String) -> Int {
let wordIndex = ["A": 0, "E": 1, "I": 2, "O": 3, "U": 4]
var rate = [1]
var answer = word.count
// 각 자리 증가율 계산 및 저장
(1...4).forEach { rate.append(rate[$0 - 1] * 5 + 1) }
rate.reverse()
// 단어 차례 계산
for (i, ch) in word.enumerated() {
answer += rate[i] * wordIndex[String(ch)]!
}
return answer
}
이 블로그 풀이를 참고해서 풀었다.
입력 값의 수가 적을 때는 완전탐색을 쓰되, 차례대로 하나씩 쓰면서 규칙을 찾아보자..!