Algorithm Problems/자료구조 (13) 썸네일형 리스트형 [백준/C++] 9935번 문자열 폭발 문제https://www.acmicpc.net/problem/9935문제 요약문자열과 폭발 문자열이 주어진다. 문자열이 폭발 문자열을 포함하고 있다면, 해당 문자열을 사라지고 남은 문자열이 합쳐진다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있다면, 다시 해당 문자열은 사라진다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다. 모든 폭발이 끝난 후, 남아 있는 문자를 출력하고, 없다면 FRULA를 출력한다.코드#include #include #include using namespace std;string text, boom;int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> text >> boo.. [백준/C++] 7662번: 이중 우선순위 큐 문제https://www.acmicpc.net/problem/7662문제 요약이중 우선순위 큐란 전형적인 우선순위 큐처럼 데이터를 삽입/삭제할 수 있는 자료구조이다. 이 때, 일반적인 우선순위 큐와 달리 최솟값과 최댓값 중 선택해서 삭제할 수 있다. 연산 후, 이중 우선순위 큐 내 최댓값과 최솟값을 출력한다.코드#include #include #include using namespace std;int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while (t--) { int k; cin >> k; multiset ms; w.. [백준/C++] 5430번: AC 문제https://www.acmicpc.net/problem/5430문제 요약AC 언어는 정수 배열에 연산을 하기 위해 만든 언어이다. 함수 R은 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는 상태에서 D 함수를 사용하면, 에러가 발생한다. 배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 출력한다.코드#include #include #include using namespace std;int t;int main() { cin >> t; while (t--) { string p; cin >> p; int n; cin >> n; deque dq; string arr; .. [백준/C++] 2493번: 탑 문제https://www.acmicpc.net/problem/2493문제 요약N개의 탑들이 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 주어진다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평해하게 수평 직선의 왼쪽 방향으로 발사한다. 또한, 모든 탑은 레이저 수신기를 하나씩 갖고 있다.+ 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다. 각 탑에서 발사한 레이저 신호를 어느 탑에서 수신하는지를 출력한다.코드#include #include using namespace std;int n;stack> st;int main() { // 입출력 단축 코드 ios::sync_with_stdio(false); cin.tie(NULL); cout... [백준/C++] 2357번: 최솟값과 최댓값 문제https://www.acmicpc.net/problem/2357문제 요약n개의 정수들이 주어질 때, m개의 쿼리에 대해서 답을 출력한다. 각 쿼리마다 a와 b가 주어지고, a번째 정수부터 b번째 정수까지 가장 작은 정수와 가장 큰 정수를 출력한다. n과 m은 0 이상 100,000이하이다.코드#include #include #include # define ll long longusing namespace std;int n, m;int arr[100010];vector min_tree;vector max_tree;// node번 노드를 [start, end] 범위에서 최대값을 갖는 노드로 초기화 하는 함수ll max_init(ll node, ll start, ll end) { // 리프 노드일 .. [백준/C++] 25603번: 짱해커 이동식 문제https://www.acmicpc.net/problem/25603문제 요약n개의 의뢰 비용이 순서대로 주어진다.최대한 적게 의뢰를 받으려 한다. 하지만, 연속된 k개 중 하나 이상의 의뢰는 반드시 받아야 한다. 위 조건을 만족하면서 의뢰를 받을 때, 수락한 의뢰 중 가장 높은 비용을 출력한다.코드#include #include #include using namespace std;int n, k, res;int arr[100010];multiset ms;int main() { // 입력 cin >> n >> k; for (int i = 0; i > arr[i]; } for (int i = 0; i 코드 설명슬라이딩 윈도우 방식을 이용한다. 연속한 k개 자연수, arr[lef.. 이전 1 2 3 다음