알고리즘

프로그래머스 - 크기가 작은 부분 문자열

최데브 2024. 8. 14. 16:50

문자열 처리 문제다.

어려울건 없지만 처음에 substring 으로 만든 문자열들을

list에 담고 거기서 filter 처리해서 size 를 만들고 하는 불필요한 작업들도 있고

잘라낸 문자열을 toInt()로 처리했는데

주어진 조건의 p가 18자리까지도 될 수 있어서 int로는 표현할 수 없어서 런타임에러가 발생하는 케이스가 있었다.

 

그래서 불필요한 작업을 없애고 toLong으로 변환해서 비교하는 코드로 변경했다.

 

import java.util.*
class Solution {
    fun solution(t: String, p: String): Int {
        var answer: Int = 0
        var size = p.length
        var list = mutableListOf<String>()
        for(i in 0 until t.length - size + 1){
            val st = t.substring(i,i+size)
            if(st.toLong() <= p.toLong()) answer ++
        }
        return answer
    }
}
반응형