Algorithm350 [프로그래머스]동적계획법(Dynamic Programming) : N으로 표현 (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr #include #include #include #include using namespace std; const int MAX = 8; // aim을 만드는 N의 최소 개수를 반환 int go(vector& v_set, int cnt, int aim) { // 개수가 8 초과이면 -1 반환 if (cnt > MAX) { return -1; } /* 두 숫자를 이루는 N의 개수가 cnt개인 set들의 숫자로 사칙연산 후 만들어진 숫자를 v_set[cnt]에 insert ex) cnt = 3 일때, v_set[1]의 숫자들 ~ v_set[2]의.. 2020. 6. 2. [BOJ]14888번: 연산자 끼워넣기 (c++) https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, ��www.acmicpc.net 방법 1: 순열로 연산자 순서를 바꾸면서 결과값 계산#include #include #include #include using namespace std;// 답안의 범위가 -10억 ~ 10억int max_num = numeric_limits::min();int min_num = numeric_limits::max();// 주어진 연산자 배열.. 2020. 6. 2. [BOJ]1339번: 단어 수학 (c++) https://www.acmicpc.net/problem/1339 1339번: 단어 수학첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대www.acmicpc.net 방법 1: 자릿값을 먼저 계산하여 가중치로 활용하고, 가중치 * 숫자 합계 구하기#include #include #include #include using namespace std;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; cin >> N; // 알파벳별 자릿값(가중치.. 2020. 6. 2. [BOJ]1967번: 트리의 지름 (c++) https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n번째 줄까지 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 �� www.acmicpc.net postorder로 깊이우선 탐색. 서브트리의 양 가지 끝을 탐색하여 그 가중치 값을 더한 것중의 최대값을 구한다 #include #include #include using namespace std; struct node { int to, weight; }; struct path { int cost, max_cost; }; // postorder로 깊이우선 탐색 path dfs.. 2020. 6. 1. 이전 1 ··· 28 29 30 31 32 33 34 ··· 88 다음