본문 바로가기

문자열 검색

D-caffein 발행일 : 2023-03-31
반응형

문제. 긴문자열과 짧은 문자열을 입력받고, 긴문자열 안에 짧은 문자열이 포함되어 있는 수를 반환하는 함수.

// 1. 긴 문자열과 짧은 문자열을 받는 함수를 만든다.
function naiveSearch(long, short){
    let count = 0;
    // 2. 긴 문자열을 반복문으로 순회.
    for(let i = 0; i < long.length; i++){
        
        // 3. 짧은 문자열을 반복문으로 순회
        for(let j = 0; j < short.length; j++){
          
           // 4. 만약 문자가 일치하지 않는다면 내부 반복문을 빠져나옵니다.
           if(short[j] !== long[i+j]) {
             break;
           }
           // 5. 만약 문자가 일치한다면 계속해서 반복문 진행
           // 6. 내부 반목문을 완료하고 일치하는 문자열이 있다면 카운트 증가
           if(j === short.length - 1) {
             count++;
           } 
        }
    }
    // 6. 일치하는 문자열의 수를 반환.
    return count;
}

naiveSearch("lorie lolededlol", "lol")  // 1

 

반응형

'Programming > 알고리즘' 카테고리의 다른 글

이진 검색 - Binary Search  (0) 2023.04.02
선형 검색 - LinearSearch  (0) 2023.04.01
재귀함수로 문자열 뒤집기  (0) 2023.03.26
피보나치 수열  (0) 2023.03.25
재귀함수로 팩토리얼 구하기  (0) 2023.03.23

댓글