[BOJ] 10799: 쇠막대기
2022. 10. 1. 20:02
알고리즘
문제: https://www.acmicpc.net/problem/10799 #include using namespace std; string str; stack st; int result; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> str; for (int i = 0; i < str.length(); i++) { if (str[i] == '(') st.push('('); else { st.pop(); if (str[i - 1] == '(') result += st.size(); else result++; } } cout 가장 오른쪽에 있는 조각
[BOJ] 3986: 좋은 단어
2022. 10. 1. 18:29
알고리즘
문제: https://www.acmicpc.net/problem/3986 #include using namespace std; int n, result; string ab; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i > ab; for (char c : ab) { if (!word.empty() && word.top() == c) word.pop(); else word.push(c); } if (word.empty()) result++; } cout
[BOJ] 5430: AC
2022. 10. 1. 17:36
알고리즘
문제: https://www.acmicpc.net/problem/5430 #include using namespace std; void parse(string& arr, deque& dq) { int num = 0; for (int i = 1; i + 1 = '0' && arr[i] n >> arr; parse(arr, dq); for (char f : p) { if (f == 'R') rev = 1 - rev; else { if (dq.empty()) { error = 1; break; } if (rev) dq.pop_back(); else dq.pop_front(); } } if (error) c..
[BOJ] 1021: 회전하는 큐
2022. 10. 1. 14:46
알고리즘
문제: https://www.acmicpc.net/problem/1021 #include using namespace std; deque dq; int n, m; int idx[50]; int num, dq_size; int result; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for (int i = 0; i > idx[i]; for (int i = 1; i dq 해당 큐를 만든 이유는 pop연산을 한 이후에도 맨처음 큐에서의 원소의 위치를 기억하기 위해서다. 해당 큐는 1부터 입력으로 주어진 n까지의 수가 들어있다. 이젠 입력으로 받은 m만큼 연산의 최솟값을 구해야 한다. k는 큐에서 제거하고자 하는..
[BOJ] 4949: 균형잡힌 세상
2022. 9. 30. 00:26
알고리즘
문제: https://www.acmicpc.net/problem/4949 #include using namespace std; string str; int main() { ios::sync_with_stdio(0); cin.tie(0); while (true) { getline(cin, str); if (str == ".") break; stack s; bool valid = true; for (char c : str) { if (c == '(' || c == '[') s.push(c); else if (c == ')') { if (s.empty() || s.top() != '(') { valid = false; break; } s.pop(); } else if (c == ']') { if (s.empt..
[BOJ] 10886: 덱
2022. 9. 29. 17:24
알고리즘
문제: https://www.acmicpc.net/problem/10866 #include using namespace std; deque dq; int n, k; string cmd; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i > cmd; if (cmd == "push_front") { cin >> k; dq.push_front(k); } else if (cmd == "push_back") { cin >> k; dq.push_back(k); } else if (cmd == "pop_front") { if (dq.empty()) cout
[BOJ] 2164: 카드2
2022. 9. 29. 16:33
알고리즘
문제: https://www.acmicpc.net/problem/2164 #include using namespace std; queue q; int n; int card; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i
[BOJ] 18258: 큐2
2022. 9. 28. 21:20
알고리즘
문제: https://www.acmicpc.net/problem/18258 #include using namespace std; queue q; string cmd; int n, k; int main() { cin >> n; for (int i = 0; i > cmd; if (cmd == "push") { cin >> k; q.push(k); } else if (cmd == "pop") { if (q.empty()) cout
[BOJ] 10845: 큐
2022. 9. 28. 20:46
알고리즘
문제: https://www.acmicpc.net/problem/10845 #include using namespace std; queue q; string cmd; int n, k; int main() { cin >> n; for (int i = 0; i > cmd; if (cmd == "push") { cin >> k; q.push(k); } else if (cmd == "pop") { if (q.empty()) cout