[프로그래머스] Lv.1 크기가 작은 부분문자열.java

hgghfgf·2023년 5월 10일
0

프로그래머스

목록 보기
35/227

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

class Solution {
    public int solution(String t, String p) {
        int len = p.length();
		long num = Long.parseLong(p);
		int result = 0;

		for (int i = 0; i < t.length() - len + 1; i++) {
			long diff = Long.parseLong(t.substring(i, i + len));
			if (diff <= num) result++;
		}
		return result;
    }
}

주어진 문자열 t에서 길이가 p와 같은 모든 부분 문자열을 찾아내서, 각각 나타내는 수가 입력으로 주어진 문자열 p가 나타내는 수보다 작거나 같은 것이 몇 번 등장하는지 세는 문제를 해결하는 코드입니다.

우선, 입력으로 주어진 문자열 p를 Long.parseLong() 함수를 사용하여 숫자로 변환하여 num 변수에 저장합니다. 그리고 문자열 t에서 길이가 p와 같은 모든 부분 문자열을 찾아내기 위해서 for 루프를 이용합니다. t.length() - len + 1 만큼 반복하는데, 이는 t 문자열에서 길이가 p와 같은 부분 문자열을 찾기 위해 필요한 시작 위치들의 개수를 의미합니다.

반복문에서는 t.substring(i, i + len) 함수를 사용하여 t 문자열에서 길이가 p와 같은 부분 문자열을 추출하고, Long.parseLong() 함수를 사용하여 추출된 문자열을 숫자로 변환한 뒤 diff 변수에 저장합니다. 마지막으로, diff와 num을 비교하여 diff가 num보다 작거나 같으면 result 변수를 1 증가시킵니다. 마지막으로 result 값을 반환하여 함수의 출력합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글