분류 전체보기57 1920 C++ (정렬/탐색) https://www.acmicpc.net/problem/1920 algorism 라이브러리가 익숙하면 쉬운 문제이다. binary_search(), sort()만 쓰면 된다.이진탐색은 정렬 된 데이터만 탐색이 가능하므로 sort를 돌려야한다.#include#include#include#includeusing namespace std;stackstk;int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, n2; cin >> n; vectorv(n); for (int i = 0; i > v[i]; } sort(v.begin(), v.end()); cin >> n2; for (int i = 0; i > temp; if (binary_sear.. 2024. 11. 28. 1026 C++ 그리디 그냥 벡터 두개 있는데 하나는 오름차순, 하나는 내림차순#include#include#includeusing namespace std;vectorA;vectorB;int main() { int n; int sum = 0; cin >> n; for (int i = 0; i > temp; A.push_back(temp); } for (int i = 0; i > temp; B.push_back(temp); } sort(A.rbegin(), A.rend()); sort(B.begin(), B.end()); for(int i=0; i 2024. 11. 26. ios_base::sync_with_stdio(0); cin.tie(0); 이게 뭐야? ### `ios_base::sync_with_stdio(0);`와 `cin.tie(0);`의 의미 이 두 줄은 **C++에서 입력과 출력 속도를 최적화**하기 위해 자주 사용되는 코드입니다. 특히, 많은 입력과 출력을 처리해야 하는 경우 성능을 크게 향상시킬 수 있습니다. --- ### 1. **`ios_base::sync_with_stdio(0);`** - **기본 동작** C++의 `cin`과 `cout`은 C의 `scanf`와 `printf`와 동기화되어 동작합니다. 이는 두 입력/출력 방식을 함께 사용했을 때 데이터의 순서를 보장하지만, 성능이 떨어질 수 있습니다. - **역할** `ios_base::sync_with_stdio(0);`는 이 동기화를 끊어 C++의 입출력(`cin`.. 2024. 11. 20. 11723 백준 c++ 그냥 단순하게 구현했다.#include #include #include #includeusing namespace std;string instruction[6] = { "add", "remove","check","toggle","all","empty" };int arr[20] = { 0, };void solve(string ins, int n) { if (ins == "add") { arr[n - 1] = 1; } else if (ins == "remove") { arr[n - 1] = 0; } else if (ins == "check") { if (arr[n - 1] == 1) cout > n; for (int i = 0; i > temp; if (temp == "all" || temp ==.. 2024. 11. 20. 백준 1991 C++ 트리순회 문제(전위,중위,후방)순회 1991번: 트리 순회 여기서는 map을 사용했는데 편한 것 같다. key와 value값으로 이루어져 있는데 트리 문제에서 사용하면 좋을 것 같다.#include #include #include #includeusing namespace std;struct treeNode{ char left; char right;};map tree;void preorder(char st) { if (st == '.') return; cout > n; for (int i = 0; i > root >> left >> right; tree[root] = { left, right }; } preorder('A'); cout 2024. 11. 13. 백준 1068 c++ 트리 그래프문제 1068번: 트리 아아 이 문제는 어떻게 풀어야할까?.....일단 대강 읽어보면1. 그래프를 입력한다.2. 중간에 노드를 끊어낸다.3. 리프노드의 개수를 알아낸다. 이정도인 것 같다. 그렇다면.. dsf 돌리면서 자식 노드가 없다면 리프노드일 것이고.. 계속 잘라진 노드인지 확인하면 될 것이다. #include #include #include using namespace std;vector> v;int root = -1;int deleteNode = -1;int leafNode = 0;void dfs(int st) { if (st == deleteNode) return; bool isleaf = true; for (int i : v[st]) { if (i != deleteNode) { isleaf.. 2024. 11. 12. 이전 1 2 3 4 5 ··· 10 다음