개인공부용123 프로그래밍 블로그
코드만 #include #include using namespace std; #define MAX 200 char stack[MAX]; int top; bool isEmpty() { return top == 0 ? true : false; } bool isFull() { return top == MAX ? true : false; } void push(char data) { if (isFull()) return; stack[top++] = data; } char pop() { if (isEmpty()) return -1; char ret = stack[top - 1]; stack[--top] = 0; return ret; } string validation(char* str) { int len = str..
1. 풀이 방식( DP, 재귀, 반복문) - 재귀 풀이 방식(search) : 첫번째 아이템부터 하나씩 선택해나가면 최대값을 찾음 메모제이션을 활용하여 이미 찾은 값은 또 찾지 않도록 처리 - 반복문 방식 (search2) : 가능한 모든 무게에 item을 하나씩 추가 하여 가장 큰 가중치를 찾아나감 2. 유의 사항 : 없음 출처: https://survivalking.tistory.com/75 [생존몬의 프로그래밍 블로그] #include #include #include using namespace std; #define MAX 100000 int N, K; int W[101]; int V[101]; int dp[101][MAX + 1]; int dp2[MAX + 1]; int search(int po..
1. 풀이 방식 - 가능한 모든 수열의 갯수를 찾아야 함 - 수열의 오름차순으로 나와야함 - 완전탐색을 하되 이미 pick한 값은 제외 하여 탐색, pick한값들은 배열에 임시 저장해둠 - 고를수있는 숫자를 전부 고르면 임시저장해둔 값을 출력 - 탐색은 1부터 진행하므로 오름차순 정렬을 보장 2. 유의 사항 : pick 한 후 다시 자기 step에 왔을때 pick 한 숫자를 풀어줘야함 #include #include using namespace std; #define MAX 1000000 bool check[9]; int arr[9]; int n,m; void suyeol(int cur, int st) { // 결과 값 출력 if (cur == m) { for (int i = 0; i < m; ++i) ..