목록문제 해결력 훈련 (58)
게임 개발 메모장

. ▣ 입력예제 1 5 3 1 2 8 4 9 ▣ 출력예제 1 3 #include #include #include using namespace std; int n; int Count(int len, int x[]) { int i, cnt = 1, pos = x[1]; for (i = 2; i = len) { cnt++; pos = x[i]; } } return cnt; } int main() { int m, i, lt = 1, rt, mid, res; cin >> n >> m; int* x = new int[n + 1]; for (i = 1; i > x[i]; } sort(x+1, x+n+1); rt = x[n]; while (lt = m) { res = mid; lt = mid + 1; } else rt..

#include #include #include #include using namespace std; int main() { int n, m; cin >> n >> m; vector vec(n); for (int i = 0; i > vec[i]; } sort(vec.begin(), vec.end()); int lt = 0, rt = n-1, mid = 0; while (lt

#include #include #include using namespace std; int main() { int n,m; cin >> n; stack stack; vector print; int j = 1; for (int i = 1; i > m; stack.push(m); print.emplace_back('P'); while (true) { if (stack.empty()) { break; } if (stack.top() == j) { j++; stack.pop(); print.emplace_back('O'); } else { break; } } } if (false == stack.empty()) { cout

#include #include #include using namespace std; int main() { stack stack; char str[50]; cin >> str; for (int i = 0; str[i] != 0; ++i) { if (str[i] == '(') { stack.push(str[i]); } else { if (stack.empty()) { cout

#include #include using namespace std; int top = -1; int stack[1001]; void Push(int x) { stack[++top] = x; } int Pop() { return stack[top--]; } int main() { int n,m; cin >> n >> m; char str[20] = "0123456789ABCDEF"; while (n > 0) { Push(n % m); n /= m; } while (top != -1) { cout

전위 순회 : 자기 일을 먼저 하고 자식 노드로 탐색하는 것 중위 순회 : 왼쪽 자식일이 다 끝나고 나서 부모 노드의 일을 한다. 후위 순회 : 왼쪽 오른쪽 자식 일이 다 끝나고 나서 부모 노드의 일을 한다. #include #include using namespace std; void DFS(int n); int main() { DFS(1); } void DFS(int n) { if (n > 7) { return; } else { cout

#include #include using namespace std; void DFS(int n); int main() { int n; cin >> n; DFS(n); } void DFS(int n) { int Result = n % 2; int Num = n / 2; if (n == 0) { return; } else { DFS(Num); cout

. #include #include using namespace std; void DFS(int n); int main() { int n; cin >> n; DFS(n); } void DFS(int n) { if (n == 0) { return; } else { DFS(n-1); cout n; DFS(n); } void DFS(int n) { if (n == 0) { return; } else { cout

▣ 입력예제 8 5 3 4 0 2 1 1 0 ▣ 출력예제 4 8 6 2 5 1 3 7 #include #include #include #include using namespace std; int main() { int n, pos; cin >> n; vector is(n+1), os(n+1); for (int i = 1; i > is[i]; } for (int i = n; i >= 1; --i) { pos = i; // 8 7 6 5 4 3 2 1 for (int j = 1; j

입력 5 9 1 2 3 2 6 2 3 5 7 #include #include #include #include using namespace std; int main() { int size, n, value, i, j, pos; cin >> size >> n; vector cache(n); for (i = 1; i > value; pos = -1; for (j = 0; j = 1; --j) { cache[j] = cache[j-1]; } } else { for (j = pos; j >= 1; --j) { cache[j] = cache[j-1]; ..