알고리즘, 코딩테스트

[프로그래머스/ 코딩테스트 연습문제] 크기가 작은 부분 문자열

jy3574 2024. 12. 3. 10:18

Q. 크기가 작은 부분 문자열

A.

class Solution {
    public int solution(String t, String p) {
        int answer = 0;
        //p의 길이와 같은 부분 문자열을 찾아야하니까 p의 문자열 길이를 pLength로 선언
        int pLength = p.length();
        //문자열이 아닌 숫자로 비교하여 p가 크거나 같은 경우 횟수+1
        long pValue = Long.parseLong(p);
        
        //t문자열에서 p와 같은 길이를 찾는거니까 t의 총 길이 - p의 길이까지 부분 문자열 탐색
        for(int i=0; i <= t.length()-pLength; i++){
        	//부분 문자열 substring으로 추출
            //substring(시작위치, 끝위치)
            //substring(i부터, p의 길이만큼) 부분문자열 뽑기
            String subString = t.substring(i, i+pLength);
            
            //뽑은 부분 문자열을 숫자로 변환하여 p와 비교
            if(Long.parseLong(subString) <= pValue){
            //조건을 만족하면 answer 증가
                answer++;
            }
        }
        //총 개수를 반환
        return answer;
    }
}