BOJ 1305 광고

1 개요[ | ]

BOJ 1305 광고

2 C++[ | ]

#include <bits/stdc++.h>
using namespace std;

int L;
string S;

void solve() {
    int n = S.size();
    vector<int> v(n, 0);
    int j = 0;
    for(int i=1; i<n; i++) {
        while(j>0 && S[i] != S[j]) {
            j = v[j-1];
        }
        if(S[i] == S[j]) {
            j++;
            v[i] = j;
        } else {
            v[i] = 0;
        }
    }
    cout << n - v[n-1];
}
 
int main() {
    cin >> L >> S;
    solve();
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}