728x90
반응형
코딩테스트 연습 - 모음사전
사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니
programmers.co.kr
문제
사전에 알파벳 모음 'A','E','I','O','U'만을 사용하여 만들 수 있는,
길이 5 이하의 모든 단어가 수록되어 있습니다.
단어 하나 word가 매개변수로 주어질 때,
이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.
풀이
흠.. 추후 작성 예정
코드
import kotlin.math.*
class Solution {
val dic = mapOf(
'A' to 0, 'E' to 1, 'I' to 2, 'O' to 3, 'U' to 4
)
fun solution(word: String): Int {
var answer = 0
val response = word.foldIndexed(0){ i, total, v ->
val sum = (0 until (5-i)).fold(0){s,c ->
s+((dic[v]?:0)*(5.0).pow(c).toInt())
}
total + sum + 1
}
return response
}
}
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv 2. 쿼드 압축 후 개수 세기(kotlin) (0) | 2022.05.26 |
---|---|
[프로그래머스] Lv 2. n^2 배열 자르기(Kotlin) (0) | 2022.05.26 |
[프로그래머스] Lv 2. 전력망을 둘로 나누기 (0) | 2022.05.25 |
[프로그래머스] Lv 2. 배달 (0) | 2022.05.25 |
[프로그래머스] Lv 2. 2개 이하로 다른 비트 (0) | 2022.05.13 |