Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 문자열이 몇 번 등장하는지 세기 (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 문자열이 몇 번 등장하는지 세기 (Java/자바)

luke-king 2026. 2. 7. 18:54

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/181871

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


class Solution {
    public int solution(String myString, String pat) {
        int answer = 0;
        
        for(int i = 0; i <= myString.length() - pat.length(); i++){
            if(myString.substring(i, i + pat.length()).equals(pat)){
                answer++;
            }
        }
        return answer;
    }
}

이번 문제는 프로그래머스 "문자열이 몇 번 등장하는지 세기" 문제다.

문제 접근은 myString 문자열에서 pat의 값이 몇 번 포함되는지 카운트를 구하는 문제다. 단 등장 횟수가 아니라는 걸 조심해야 한다. 그럼 바로 풀이해보겠다.

 

1. for문은 pat이 시작할 수 있는 마지막 위치까지 즉 myString.length() - pat.length()까지만 반복한다.

 

2. 매 반복마다 substring(i, i + pat.length())로 pat과 같은 길이의 부분 문자열을 잘라낸 뒤 pat과 같으면 카운트를 증가시킨다.

 

3. 이렇게 하면 겹치는 경우도 모두 정확히 셀 수 있다. 그럼 끝이다.