본문 바로가기

TLI/코드카타

2024.06.29 TIL 코트카타 97번(모음사전)

    private val possibleWords = mutableListOf<String>()
    private val aeiou = mutableListOf("A","E","I","O","U")

    fun solution(word: String): Int {
        makeDictionary("")
        return possibleWords.indexOf(word)
    }

    private fun makeDictionary(word: String) {
        if(word.length > 5)
            return

        possibleWords.add(word)

        for (alphabet in aeiou) {
            makeDictionary(word.plus(alphabet))
        }
    }

 

풀이과정

1. 알파벳을 하나씩 더해가며 DFS탐색을 한다.

2. 탐색하며 전체 경우의 수를 구해 List에 넣는다.

3. 파라미터로 받은 word가 몇 번째 인덱스에 있는지 확인한다.

 

포인트

- 첫 번째 인덱스(0)에 "" 가 들어갔기 때문에 indexOf로 찾은 인덱스 값이 순서랑 동일하다.