728x90
https://school.programmers.co.kr/learn/courses/30/lessons/147355
Code
class Solution {
fun solution(t: String, p: String): Int {
var answer: Int = 0
var pLen = p.length
for (i in 0 .. t.length - pLen){
if (t.substring(i until i + pLen) <= p)
answer++
}
return answer
}
}
사실 문제를 보는 순간 로직은 생각이 났다. 근데 더 좋은 방법이 있을까 고민을 좀 했다.
근데 더 좋은 방법이 생각이 안나서 위와 같은 방법을 사용했다.
어차피 p의 길이만큼 잘라서 확인을 하면 되기 때문에 t를 p의 길이만큼 자르고, 비교를 진행하면 된다.
이때 처음에는 문자열을 자르는데 slice를 사용했다가 substring으로 바꿔서 다시 작성해봤다.
유의미하진 않지만, 약간 더 빠른거 같아서 substring을 최종적으로 사용했다.
자르고 비교하는 과정에서 굳이 toInt를 사용하지 않아도 된다. 어차피 String또한 비교가 가능하기 때문에 바로 비교했다.
728x90