#include #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n, num, k = 0, temp, count = 0; pair t; cin >> n; while(n--){ queue q; priority_queue qq; count = 0; cin >> num >> k; for(int i=0; i> temp; if(i == k) q.push(make_pair(temp, 1)); else q.push(make_pair(temp, 0)); qq.push(temp); } if(q.size() == 1) cout
#include #include #include #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n, first = 0, second, third, fourth, temp; vector vec; cin >> n; for (int i = 0; i > temp; vec.push_back(make_pair(temp, 0)); first += temp; } sort(vec.begin(), vec.end()); first = round((double)first / (double)n); second = vec[n / 2].first; fourth = vec[n - 1].fir..
#include #include using namespace std; int main(){ string s; while(true){ getline(cin, s); if(s == ".") break; stack st; bool check = true; for(char c: s){ if( c == '(' || c == '[' ) st.push(c); else if( c == ')'){ if( !st.empty() && st.top() == '('){ st.pop(); } else{ check = false; break; } } else if( c == ']'){ if( !st.empty() && st.top() == '['){ st.pop(); } else{ check = false; break; } } }..
STL Stack을 이용하여 구현한다. 중위 표기를 후위 표기를 바꾸기 위해서 해야하는 행동 1. ( 은 스택에 넣는다. 2. )은 ( 가 나올 때까지 Stack을 비운다. 3. + - * / 는 Stack이 비어있는지 확인한다. 3-1 Stack이 비어있지 않는 경우 현재 연산자와 Stack top에 있는 연산자를 비교한다. 3-1-1 top 연산자가 우선 순위가 높은 경우 출력하고 다음 top도 3-1 행동을 반복한다. 4. 현재 연산자를 stack에 넣어준다. #include #include using namespace std; int priority(char c) { switch (c){ case '(': case ')': return 0; case '+': case '-': return 1; c..