[programmers] 문자열이 몇 번 등장하는지 세기 - Java

문자열 myString에서 pat이 등장하는 횟수를 구하는 문제입니다. 주어진 solution 함수는 반복문을 사용하여 각 인덱스를 시작으로 하는 단어를 만들고, 해당 단어가 pat과 동일하면 count를 증가시키는 방식으로 문제를 해결합니다.
Jan 16, 2024
[programmers] 문자열이 몇 번 등장하는지 세기 - Java

문제 설명

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

제한사항

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

입출력 예

myString
pat
result
"banana"
"ana"
2
"aaaa"
"aa"
3

입출력 예 설명

입출력 예 #1
  • "banana"에서 1 ~ 3번 인덱스에서 한 번, 3 ~ 5번 인덱스에서 또 한 번 "ana"가 등장해서 총 두 번 등장합니다. 따라서 2를 return 합니다.
입출력 예 #2
  • "aaaa"에서 0 ~ 2번 인덱스에서 한 번, 1 ~ 3번 인덱스에서 한 번, 2 ~ 4번 인덱스에서 한 번 "aa"가 등장해서 총 세 번 등장합니다. 따라서 3을 return 합니다.

solution.java

class Solution { public int solution(String myString, String pat) { int count = 0; for(int i=0; i<myString.length(); i++){ String str = ""; for(int j=i; j<myString.length(); j++){ char ch = myString.charAt(j); str += ch; if(str.equals(pat)){ count++; break; } } } return count; } }
 

핵심 키워드

  • myString의 각 인덱스를 시작으로 하는 단어를 반복문을 통해 만들어서, 해당 단어가 제시된 문자열과 동일하면 count를 증가시키는 방식으로 문제에 접근했다.
 

결론!

해당 문제를 풀면서 코드를 작성하다가 코드 작성에 어려움을 겼었고, String에 char을 붙이는 방식으로 단어를 만들어서 하나하나 비교하는 방식으로 문제를 풀 수 있었다.
 
Share article

👨🏻‍💻DriedPollack's Blog