프로그래밍/알고리즘 26

no.1541 잃어버린 괄호

#include #include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> s; vector num; vector op; for (int i = 0; i  문제분석 모든 연산자를 음수로 그룹화하여 그리디 방식으로 해결하면 되는 문제이다 즉 처음으로 - 가등장한 이후의 모든 수들을 빼기로 처리하면 식의 최솟값을 구할 수 있다  for (int i = 0; i  문자열을 처음부터 흝으며 + 나 - 를 만나면 op에 연산자를 저장하고 숫자는 while문으로 이어붙여 정수 n을 만든지 num에 저장한다이렇게 하면 num에 모든숫자, o..

no.1931 회의실 배정

#include #include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector> v(N); for (int i = 0; i > v[i].second >> v[i].first; } sort(v.begin(), v.end()); int cnt = 1; int end = v[0].first; for (int i = 1; i = end) { cnt++; end = v[i].first; } } cout  문제분석회의가 겹치지 않도록 최대한 많은 회의를 배정하는 문제이다.즉 회의들을 정렬한 후, 회의를 살펴보면서 회의의 시..

no.18870 좌표 압축

#include #include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector v(N); for (int i = 0; i > v[i]; } vector sorted = v; sort(sorted.begin(), sorted.end()); sorted.erase(unique(sorted.begin(), sorted.end()), sorted.end()); for (int i = 0; i  문제분석 맨 처음에는 set을 받아서 풀면되는건가? 라는 생각을 했지만 sort와 algorithm 헤더에 포함된 메소드들로 풀 수 있다..

no.2630 색종이 만들기

#include #include #include #include #include using namespace std;int white = 0;int blue = 0;vector> square;void divedePapaer(int row, int col, int size) { int first = square[row][col]; bool isAlllSame = true; for (int i = row; i > N; square.assign(N, vector(N)); for (int i = 0; i > square[i][j]; } } divedePapaer(0, 0, N); cout  문제분석 전체종이를 재귀적으로 네등분하며, 각 조각이 모두 같은색이 될때까지 잘라나가는 문제이다. 문제를 푸는 알고리즘은..

no.1927 최소 힙

#include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; priority_queue, greater> pq; for (int i = 0; i > x; if (x == 0) { if (pq.empty()) { cout  문제분석문제 제목처럼 최소 힙 자료구조를 활용하여 쉽게 해결 할 수 있다.입력시0이상의 숫자가 입력되면 -> 힙에 x를 삽입0이 입력되면 -> 힙의 최소값을 출력하고 제거(힙이 비어있으면 0 출력) cpp에서 힙은 priority_queue, 즉 우선순위 큐에 템플릿을 int,vector,greater로..