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

0

프로그래머스

목록 보기
87/128
post-thumbnail

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

풀이

class Solution {
    fun solution(s: String): IntArray {
        //크기 26인 null으로 채워진 array
        //alphabets[0] = a가 가장 최근에 나온 인덱스
        //...
        //alphabets[25]= z가 가장 최근에 나온 인덱스
        val alphabets = arrayOfNulls<Int>(26)
        
        var answer: IntArray = intArrayOf()
        for(i in 0 until s.length){
            var ch = s[i]
            
            //처음 나온 알파벳인 경우
            if(alphabets[ch.code-'a'.code] == null) answer += -1
            //앞에 나온 알파벳인 경우
            else answer += (i - alphabets[ch.code-'a'.code]!!)
            
            //가장 최근에 나온 인덱스 = 현재 인덱스
            alphabets[ch.code-'a'.code] = i
        }
        return answer
    }
}
profile
Be able to be vulnerable, in search of truth

0개의 댓글