목록알고리즘/백준 (59)
쌓고 쌓다
https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 전체 코드 #include #include #include using namespace std; vector a; vector b; int N; int main(void) { int num; cin >> N; for (int i = 0; i > num; a.push_back(num); } for (int i = 0; i > num..
전체 코드 #include #include #include #define MAX_SIZE 777 typedef struct { int* s; int top; } Stack; void init(Stack* st) { st->top = -1; st->s = (int*)malloc(sizeof(int) * MAX_SIZE); } bool is_empty(Stack* st) { if (st->top == -1) return true; return false; } void push_back(Stack* st, int num) { st->s[++(st->top)] = num; } int pop(Stack* st) { return st->s[(st->top)--]; } void solve(int num, int co..
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 전체 코드 #include using namespace std; pair arr[26]; int N; void preorder(char x) { if (x!='.') { cout > parent >> left >> right; arr[(parent - 'A')].first = left; arr[(parent - 'A')].second=right; } preorder('A'); cout ..
https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 전체 코드 #include #include #include #include using namespace std; vector v; map m; bool visit[11]; int n, k; string str; void solve(int cnt) { if (cnt >= k) { if (m[str] == false) { m[str] = true; } return; } for (int i = 0; i < v.size(); i++) { if (visit[i] == false) { visit[i] ..
https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 전체코드 #include #include using namespace std; string S, T; int main(void) { cin >> S >> T; while (S.length() < T.length()) { if (T[T.length() - 1] == 'A') T.erase(T.length() - 1); else { T.erase(T.length(..
https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 전체 코드(1) #include #include #include using namespace std; int N, K; vector v; vector v2; int main(void) { cin >> N; cin >> K; if (K >= N) { cout n; v.push_back(n); } sort(v.begin(), v.end()); for (int i = 0; i ..
https://www.acmicpc.net/problem/16562 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. ( www.acmicpc.net 전체 코드 #include using namespace std; int cost[10001]; int parent[10001]; bool visit[10001]; int N, M,k; int find(int a) { if (parent[a] == a) return a; return parent[a] = find(parent[a]); } void Uni..
https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 전체 코드 #include #include #include #include using namespace std; int arr[1001]; vector v; int N; bool cmp(pair a, pair b) { if (a.second > b.second) return true; return false; } int main(void) { cin >> N; memset(arr, 0, sizeof(arr)); for (int i = 0; ..