Algorithm
[프로그래머스] 크기가 작은 부분 문자열
moguogu
2023. 2. 22. 23:59
문제설명
알고리즘
1. t 문자열을 하나하나 조회한다
2. 조회시 현재 인덱스에서 p의 길이 -1 보다 작을때만 연산을 하는데, substr로 문자를 자른다
3. compare함수를 사용해서 사전순으로 더 앞이면 작거나 같다 -> 답 갯수 증가
코드
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int solution(string t, string p) {
int answer = 0;
for(int i=0; i<t.size(); i++){
if(i + p.size()-1 < t.size()){ //범위를 넘어가지 않도록 계산
string temp = t.substr(i, p.size()); //잘라서 불러오기
if(temp.compare(p)<=0) // 사전순으로 더 앞인지 확인
answer++;
}
else
break;
}
return answer;
}