본문 바로가기

카테고리 없음

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

풀이

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으로 리턴해주는데 이 부분을 주의한다면 크게 어려운 문제는 아니였다.