알고리즘/코딩테스트
[프로그래머스] - 147355_크기가 작은 부분 문자열
ppusda
2023. 10. 25. 17:38
문제 소개
- Level 1
- https://school.programmers.co.kr/learn/courses/30/lessons/147355
- 테스트 케이스
- "2147483649" / "2147483650” / 1
풀이
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의 범위를 넘어가는 곳이 있었기에 추가하게 되었다.