🌈 프로그래머스
[프로그래머스:Javascript] 문자열이 몇 번 등장하는지 세기
Eun_zii
2024. 4. 24. 13:28
프로그래머스 Lv.0
- 문자열이 몇 번 등장하는지 세기
💚 문제설명
💚 제한조건
- 1 ≤ myString ≤ 1000
- 1 ≤ pat ≤ 10
💚 풀이
function solution(myString, pat) {
let answer = 0;
let index = myString.indexOf(pat);
while (index !== -1) {
answer++;
index = myString.indexOf(pat, index + 1);
}
return answer
}
✅
pat가 myString에 나타나는 횟수를 찾기 위해 answer 변수를 초기화 해둔후,
myString에서 pat가 처음 나타나는 인덱스를 찾는다. ( pat를 찾을 수 없으면 indexOf는 -1을 반환한다. )
💡 indexOf( ) 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.
index가 -1이 아닌 한 계속되는 while문을 반복하고,
answer++ 는 pat를 찾으면 answer변수를 하나씩 증가하고,
index = myString.indexOf(pat, index + 1)는 myString에서 pat를 찾는 역할을 하며, 마지막 pat 바로 뒤의 인덱스에서 검색을 한다.
fromIndex로 index + 1을 설정하면 마지막으로 발견된 항목 직후에 다음 항목인 pat에 대한 검색을 시작한다.
myString에 pat가 더 이상 발생하지 않으면 indexOf는 -1을 반환하고 while문은 중지되고, answer를 return한다.
728x90