[Programmers / Level1] 147355. 크기가 작은 부분 문자열(Java)

이하얀·2024년 8월 16일
0

🕊️ 프로그래머스

목록 보기
31/43

💡 Info




입출력 조건




입출력 예시




문제 이해


  • t 문자열을 p 길이만큼 잘라 비교하여 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 반환


알고리즘


풀이 시간 : 36분

  • for문 실행
    • t의 부분 문자열 tCut 선언(substring으로 자르기)
    • 만약 tCut <= 라면 -> answer 증가
import java.util.*;

class Solution {
    public int solution(String t, String p) {
        int answer = 0;
        
        
        for(int i=0; i<p.length(); i++){
            
            String tCut = t.substring(i, i+p.length());
            
            if(tCut.compareTo(p) <= 0){
                answer++;
            }
        }
        
        
        return answer;
    }
}


오답체크


  • 테스트 미통과 문제 : for문의 전체 길이는 전체 문자열 t를 순회하며 p 길이만큼 잘라서 비교해야 하기 때문에 t.length() - p.length()까지 비교해야 함!
//before
 for(int i=0; i<p.length(); i++){
//after        
for(int i=0; i <= t.length() - p.length(); i++){


최종 풀이


풀이 시간 : 49분(첫 풀이 시간 포함)

  • for문 실행 : 전체 문자열 t를 순회하며 p의 길이만큼 잘라서 비교
    • t의 부분 문자열 tCut 선언(substring으로 자르기)
    • 만약 tCut <= 라면 -> answer 증가
import java.util.*;

class Solution {
    public int solution(String t, String p) {
        int answer = 0;
        
        for(int i=0; i <= t.length() - p.length(); i++){
            
            String tCut = t.substring(i, i+p.length());
            
            if(tCut.compareTo(p) <= 0){
                answer++;
            }
        }
        
        return answer;
    }
}


결과

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE 개발 기록 노트☘️

0개의 댓글