C++/코딩 기초 트레이닝

[C++/프로그래머스] 원하는 문자열 찾기

서니션 2023. 12. 11. 21:22
728x90
반응형

문제설명

알파벳으로 이루어진 문자열 myString과 pat이 주어집니다. myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.

단, 알파벳 대문자와 소문자는 구분하지 않습니다.


제한사항

  • 1 ≤ myString의 길이 ≤ 100,000
  • 1 ≤ pat의 길이 ≤ 300
  • myString과 pat은 모두 알파벳으로 이루어진 문자열입니다.

입출력 예

입출력 예 설명

입출력 예 #1

  • "AbCdEfG"의 0~2번 인덱스의 문자열은 "AbC"이며, 이는 pat인 "aBc"와 같습니다. 따라서 1을 return 합니다.

입출력 예 #2

  • myString의 길이가 pat보다 더 짧기 때문에 myString의 부분 문자열 중 pat와 같은 문자열이 있을 수 없습니다. 따라서 0을 return 합니다.

작성코드

#include <string>
#include <vector>

using namespace std;

int solution(string myString, string pat) {
    int answer = 0;
    
    int myStringLen = myString.length();
    int patLen = pat.length();
    
    for(int i=0; i<=myStringLen - patLen; i++)
    {
        bool match = true;
        for(int j=0; j<patLen; j++)
        {
            if (tolower(myString[i+j]) != tolower(pat[j]))
            {
                match = false;
                break;
            }
        }
        if (match)
            answer = 1;
    }
    
    return answer;
}

문제 URL

https://school.programmers.co.kr/learn/courses/30/lessons/181878

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


반응형
728x90

 

728x90
반응형