Algorithm/CodingTest

[Programmers] Level.1 크기가 작은 부분 문자열(Java)

누구세연 2023. 10. 19. 22:15

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

크기가 작은 부분 문자열 문제 Java로 문제 풀이하겠습니다.

문제 설명
제한사항 및 입출력 예

이 문제는 주어진 문자열 t에서 길이가 p와 같은 모든 부분 문자열을 추출하여 각 문자열이 'p'와 비교되어 작거나 같은지 확인해야 합니다.

 

저는 다음과 같이 문제를 풀이하였습니다.

class Solution {
    public int solution(String t, String p) {
        int tLen = t.length();
        int pLen = p.length();
        int cnt = 0;
        
        for (int i = 0; i <= tLen - pLen; i++) {
            String str = t.substring(i, i + pLen);
            if (Long.parseLong(str) <= Long.parseLong(p)) {
                cnt++;
            }
        }
        
        return cnt;
    }
}

 

  1. 문자열 t의 길이와 p의 길이를 저장합니다.
  2. for 루프를 사용하여 문자열 t에서 길이가 p와 같은 모든 부분 문자열을 추출합니다. 
  3. 문자열 t에서 길이가 p와 같은 부분 문자열을 추출하고, 문자열을 숫자로 변환합니다.
  4. 추출하여 숫자로 변환한 str를 p와 비교하여 작거나 같은 경우의 수를 세어줍니다.
  5. 최종적으로 세어진 수를 반환합니다.

 

다른 이견이 있다면 댓글로 자유롭게 남겨주세요.