프로그래머스 - 모음사전

Seoyoung Lee·2023년 3월 23일
0

알고리즘

목록 보기
102/104
post-thumbnail
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
}

이 블로그 풀이를 참고해서 풀었다.

입력 값의 수가 적을 때는 완전탐색을 쓰되, 차례대로 하나씩 쓰면서 규칙을 찾아보자..!

profile
나의 내일은 파래 🐳

0개의 댓글