leetcode - count vowels permutation(kotlin)

silver·2021년 7월 5일
0

level - hard

자세한 설명과 내용은 아래 링크를 참고해주세요.
https://velog.io/@mdok1112/leetcode-count-vowels-permutationjava

위의 링크에서는 설명과 자바코드가 들어있으며
여기서는 코틀린으로 작성한 코드만 있습니다.

class Solution {
    fun countVowelPermutation(n: Int): Int {
        val dp = Array(n) {LongArray(5)}
        for(i in 0 until 5) {
            dp[0][i] = 1
        }

        for(i in 1 until n) {
            dp[i][0] = dp[i-1][1] + dp[i-1][2] + dp[i-1][4]
            dp[i][1] = dp[i-1][0] + dp[i-1][2]
            dp[i][2] = dp[i-1][1] + dp[i-1][3]
            dp[i][3] = dp[i-1][2]
            dp[i][4] = dp[i-1][2] + dp[i-1][3]
            for(j in 0 until 5) {
                dp[i][j] %= 1000000007L
            }
        }

        var answer = 0L
        for(i in 0 until 5) {
            answer += dp[n-1][i]
            answer %= 1000000007L
        }
        return answer.toInt()
    }
}

0개의 댓글