프로그래머스

[프로그래머스][Kotlin]가장 가까운 같은 글자

끝까지 처음처럼 2022. 12. 12. 23:44
728x90
class Solution {
    fun solution(s: String): IntArray {
        var answer: IntArray = intArrayOf()
        var checkList = mutableListOf<Char>()
        s.forEach{
            if(checkList.contains(it)){
                for(i in checkList.size-1 downTo 0){
                    if(checkList[i] == it){
                        answer += checkList.size-i
                        checkList.add(it)
                        break
                    }
                }
            } else {
                checkList.add(it)
                answer += -1
            }
        }
        return answer
    }
}

상기 코드는 현재 저의 실력으로 작성하였으며, 최적의 코드는 아님을 말씀드립니다.

해당 코드를 작성하면서 시간 초과가 발생 하지 않도록 생각하여 checkList 뒤 부분부터 체크하는 방식을 사용하였습니다.