2024/11 36

[백준] 4354번 문자열 제곱

문제: 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); /..

백준 문제/KMP 2024.11.30

[백준] 1305번 광고

문제: 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 이런 식이라고 했을 때, 가능한 가장 짧은 광고 문구는 어..

백준 문제/KMP 2024.11.29

[백준] 10814번 나이순 정렬

문제: 10814번: 나이순 정렬  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;// 나이가 같으면 가입한 순으로 출력하도록 하기 위해서 a.first == b.first 가 false 가 되도록..bool compare(pair, string> a, pair, string> b) { if (a.first.first == b.first.first) return a.first.second > n; vector, string>> persons; for (int i = 0; i > age; ..

백준 문제 2024.11.28

[백준] 1786번 찾기

문제: 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 가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 ..

백준 문제/KMP 2024.11.27

[백준] 3665번 최종 순위

문제: 3665번: 최종 순위  #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 t; cin >> t; while (t-- > 0) { int n; cin >> n; vector indeg(n + 1, 0); // 0번 인덱스는 안 쓸 것 vector> adjList(n + 1, vector(n+1, false)); // 연결 여부 저장 // 여기서 ..

[백준] 1766번 문제집

문제: 1766번: 문제집  #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, m; // n: 문제의 수, m: 정보의 개수 cin >> n >> m; vector> linkedList(n + 1); // 문제 번호는 1부터 시작하니까 인덱스 계산 편하돌록.. vector indegs(n + 1); // 진입차수 저장 // 우선 순서 입력받기 for (in..

[백준] 1005번 ACM Craft

문제: 1005번: ACM Craft  처음 풀이(오답)#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 t; cin >> t; for (int i = 0; i > n >> k; // 건물 번호는 1번부터 N 번이니까 n+1 만큼 잡음(0번 인덱스는 안 쓸 것) vector> linkedList(n + 1); vector inDegree(n + 1); /..

[백준] 2252번 줄 세우기

문제: 2252번: 줄 세우기  #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, m; // n: 학생 수, m: 키를 비교한 횟수 cin >> n >> m; vector> linkedList(n + 1); // 학생 번호는 1부터 시작하니까 n+1 로 해주기.. 0번 인덱스 안 쓸 것 vector answer; // 정답 저장할 곳 stack noInDe..