[프로그래머스 / C++] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

YH·2023년 11월 28일
0

문제

특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 : 문제 링크


문제 분석

  • 문자열 myStringpat가 주어진다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return
  • 찾은 문자열을 저장할 문자열 answer을 초기화. for loop를 통해 초기화식을 i = myString.size() - pat.size()로 설정하여, myString의 마지막 원소에서 pat 길이만큼 전에서 시작하여 역으로 순환. if문과 substr() 함수를 사용하여 myString에서 i인덱스의 문자부터 pat 길이만큼 자른 문자열이 pat과 같다면, myString의 첫번째부터 i + pat.size() 인덱스까지의 문자열을 answer에 저장하고 loop 탈출. 최종적으로 저장된 answer을 return

substr() 함수 사용법
1. substr(시작인덱스, 문자열 길이)
=> 시작인덱스 부터 주어진 문자열 길이만큼 추출
2. substr(시작인덱스)
=> 시작인덱스 부터 문자열 끝까지 추출


풀이

#include <string>

using namespace std;

string solution(string myString, string pat) {
    string answer = "";
    
    for(int i = myString.size() - pat.size(); i >= 0; --i) {
        if(pat == myString.substr(i, pat.size())) {
            answer += myString.substr(0, i + pat.size());
            break;
        }
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글