풀이
class Solution {
public int solution(String t, String p) {
int length = t.length();
int plength = p.length();
int count = 0;
long testNum = Long.parseLong(p);
for (int i = 0; i < length; i++) {
if (i + plength - 1 < length) {
String test = t.substring(i, i + plength); // 부분 문자열을 추출하여
long k = Long.parseLong(test);
if (k <= testNum) {
count++;
}
}
}
return count;
}
}
조건에 String의 길이가 최대18까지인 부분을 맨 처음에 parseInt로 변환하려다 보니 몇몇 케이스들에서 런타임 에러가 발생했었다.
이외에 신경써야할 함수는 substring함수에서의 두번쨰 인자가 3이라고 하면 인덱스 2까지의 값을 String으로 리턴해주는데 이 부분을 주의한다면 크게 어려운 문제는 아니였다.