본문 바로가기

Algorithm350

[프로그래머스]탐욕법(Greedy) : 단속카메라 (level 3)(c++) https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr #include #include #include using namespace std; int solution(vector routes) { // 끝점을 기준으로 오름차순 정렬 sort(routes.begin(), routes.end(), [](vector &a, vector &b) { return a[1] < b[1]; }); /* 카메라를 설치하는 기준 : 기준끝점(std_end)이 다음차의 시작점보다 작을 때 (=영역이 겹치지 않을 때) 기준끝점에 카메라를 설치한.. 2020. 6. 19.
[프로그래머스]탐욕법(Greedy) : 섬 연결하기 (level 3)(c++) https://programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr #include #include #include using namespace std; // 노드x가 포함된 트리의 루트노드 가져오기 int get_root(vector &parent, int x) { // x가 노드x의 부모라면 if (x == parent[x]) { return x; } /* 다른 노드가 노드x의 부모라면, 루트노드를 찾을 때까지 재귀함수 호출. 마지막에 노드x의 부모에 해당 루트노드 저장후 반환 */ return parent[x] = get.. 2020. 6. 18.
[프로그래머스]동적계획법(Dynamic Programming) : 등굣길 (level 3)(c++) https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr #include #include using namespace std; const int MOD = 1000000007; int solution(int m, int n, vector puddles) { // 문제에서 m : 행, n : 열로 주어진다. vector ways(m + 1, vector(n + 1)); vector is_puddle(m + 1.. 2020. 6. 18.
[BOJ] 11047번: 동전 0 (c++) https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net K에서 뺄수 있는 가장 큰 액수의 동전을 최대로 뺀다. #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // 입력 int N, K; cin >> N >> K; vector coins(N); f.. 2020. 6. 17.