[백준] 11585번 속타는 저녁 메뉴
·
백준 문제/KMP
문제: 11585번 속타는 저녁 메뉴  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; // 문자열 s 와 p 의 길이 cin >> n; string P = ""; // 패턴 string S = ""; for (int i = 0; i > c; P += c; // 연결, 공백 문자 없애기 } for (int i = 0; i > c; S += c; } /..
[백준] 4354번 문자열 제곱
·
백준 문제/KMP
문제: 4354번: 문자열 제곱  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); for (int _ = 0; _ > s; if (s == ".") break; // 일단 입력받은 문자열의 pi 배열은 만들어 // pi 배열은 LPS 배열을 한 칸 옮긴 것과 같음 int s_length = s.size(); vector pi(s_length + 1); /..
[백준] 1305번 광고
·
백준 문제/KMP
문제: 1305번: 광고  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // 어느 순간 전광판을 쳐다봤을 때, 가능한 광고의 길이 중 가장 짧은 것을 출력하는 문제 // 즉, 전광판을 통해 생각해볼 수 있는 광고 문구 중에서 길이가 가장 짧은 걸 출력하면 됨. // 만약 현재 전광판의 문구가 aababba 이런 식이라고 했을 때, 가능한 가장 짧은 광고 문구는 어..
[백준] 1786번 찾기
·
백준 문제/KMP
문제: 1786번: 찾기  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); string T; getline(cin, T); string p; getline(cin, p); // 문제에서 특정 조건이 없다면 KMP 문제를 풀 때, 연속적으로 겹쳐지는 패턴도 각각 카운팅 해야한다고 함.. // 첫째 줄에, T 중간에 P 가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 ..