알고리즘/코딩테스트

[프로그래머스] - 147355_크기가 작은 부분 문자열

ppusda 2023. 10. 25. 17:38

문제 소개

풀이

public class Pr147355 {
    public int solution(String t, String p) {
        int answer = 0;

        int start = 0;
        int end = p.length();

        while(end < t.length()+1) {
            long tmp = Long.parseLong(t.substring(start, end));

            if(tmp <= Long.parseLong(p)) {
                answer ++;
            }

            start ++;
            end ++;
        }

        return answer;
    }
}
  • 투 포인터 방법을 이용하여 문제를 풀어보았다.
  • start 와 end로 두 지점을 지정해주고, 한 칸씩 이동하면서 p 보다 작은 값이 있는 지 검사한다.
  • 테스트 케이스를 추가한 이유는 String에서 변환하는 것이다 보니 int의 범위를 넘어가는 곳이 있었기에 추가하게 되었다.