[프로그래머스, 147355] 크기가 작은 부분문자열 (java)
Problem Solving/Programmers

[프로그래머스, 147355] 크기가 작은 부분문자열 (java)

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/147355

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

728x90

메모리: 88.1 MB, 시간: 1.10 ms

사용 알고리즘: 문자열

class Solution {
    public int solution(String t, String p) {
        
        long numP = Long.parseLong(p);
        
        // 앞에서부터 p의 길이 - 1 만큼 자른 수 구하기
        long num = 0;
        for(int i = 0; i < p.length() - 1; i++) {
            num *= 10;
            num += t.charAt(i) - '0';
        }
        
        // 다음 부분 문자열을 구하기 위한 수
        final long MOD = (long) Math.pow(10, p.length() - 1);
        
        int answer = 0;
        
        int index = p.length() - 1;
        while(index < t.length()) {
            num = (num % MOD) * 10 + (t.charAt(index) - '0');
            
            if(num <= numP) answer++;
            
            index++;
        }
            
        return answer;
    }
}
728x90