[프로그래머스/Java] Lv.0 문자열이 몇 번 등장하는지 세기

febCho·2024년 3월 14일
0

코딩테스트

목록 보기
82/253
post-thumbnail

문제

문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.

- 제한사항

  • 1 ≤ myString ≤ 1000
  • 1 ≤ pat ≤ 10

풀이

이중 for문을 활용해 문자열 myString으로 만들 수 있는 모든 부분 문자열을 구하는 방법이다. 초기식을 작성할 때 int i=0;로 했다면, 내부의 for문은 int j=i+1;로 설정하는 것이다.

그리고 해당 변수를 substring(i, j)에 대입해 모든 부분 문자열을 구하고, 해당 문자열이 pat과 equals()로 일치한다면 증감식으로 카운트 해주는 거다.

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

결과

profile
Done is better than perfect.

0개의 댓글